链载Ai

标题: 基于Dify构建客服智能体全流程实战,揭秘提升RAG效果关键 [打印本页]

作者: 链载Ai    时间: 昨天 18:40
标题: 基于Dify构建客服智能体全流程实战,揭秘提升RAG效果关键

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);border-radius: 8px 24px;box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 6px;">前言

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">dify是一款开源的大语言模型应用开发平台,旨在降低AI应用的开发门槛,帮助开发者和企业快速构建、部署及管理生成式AI应用。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Dify的知识库功能将RAG管线上的各环节可视化,提供了一套简单易用的用户界面来方便应用构建者管理个人或者团队的知识库,并能够快速集成至 AI 应用中。为了达到最好的RAG检索效果,需要选择正确的分段设置。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">本文介绍如下内容:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">本文构建的客服智能体效果如下:

RAG介绍

RAG是什么?

RAG,全称Retrieval-Augmented Generation,直译为“检索增强生成”。简单来说,RAG = 知识检索系统 + 大语言模型(LLM)。

在问答过程中,RAG会:

为什么RAG重要?

减少幻觉

解决时效问题

支持私有知识库

企业可以用自己专属的数据(产品手册、内部wiki、合同、报告等)做RAG,而无需重新训练大模型。

提升回答的可解释性

RAG可以告诉用户“答案来自哪篇文档”,增强透明度和可信度。

RAG的技术组成

向量化(Embedding)

把文档拆分成“知识块”,用向量模型编码成向量,并存储到向量数据库(如Weaviate、Milvus等)中。

相似度检索

根据用户问题,计算问题与文档块的相似度,从向量数据库找出相关内容。

上下文构建

将检索到的内容拼接,作为“上下文”发送给大模型处理。

大模型生成

LLM根据上述“补充背景”给出更准确、更专业、更可信的答案。

提升Dify RAG效果的关键:父子模式

提升RAG效果的关键是检索出合适的上下文内容。在Dify导入数据到知识库系统的流程中,有两种文本分段方式:“通用模式”和“父子模式”

通用模式

系统依据用户的自定义规则,将内容拆分为独立的分段。当用户输入问题后,系统自动提取问题的关键词,并计算关键词与知识库中各分段的相关度。根据相关度排序,选取最相关的内容分段并发送给 LLM,辅助其回答问题。

“通用模式”的分段最大长度设置存在两难:

父子模式

父子模式采用双层分段结构来平衡检索的精确度和上下文信息,让精准匹配与全面的上下文信息二者兼得。

父区块

父区块保持较大的文本单位(如段落),提供丰富的上下文信息。

子区块

子区块是较小的文本单位(如句子),用于精确检索。

检索机制

通过子区块进行精确检索以确保相关性,然后获取对应的父区块来补充上下文信息,从而在生成响应时既保证准确性又能提供完整的背景信息。

通过Jina Reader抓取网页信息

原始HTML充斥着标记和脚本等无关元素,Jina Reader API通过从URL中提取核心内容并将其转换为干净的、大模型友好的文本,从而确保为您的Agent和RAG系统提供高质量的输入。

Jina Reader读取返回的结果是Markdown格式,需要了解抓取结果的格式,以便设置正确的分段标识符

可以打开https://r.jina.ai/ + 页面地址查看Jina的输出格式。例如Dify的安装部署FAQ页面https://r.jina.ai/https://docs.dify.ai/zh-hans/learn-more/faq/install-faq的输出如下图, 分段标识符设置为###(三个#加一个空格),可以正确切分不同的问答内容:

基于Dify构建客服智能体

创建知识库

新建知识库

创建Agent应用

在http://localhost/apps页面点击“创建空白应用”,选择“Agent”。填写应用名,点击创建,进入编排界面。编排界面如下:
你是一个Dify客服,需调用工具使用知识库的内容回答问题。
要求:如果知识库里没有答案,回复:没找到相关答案

总结

通过本文的介绍,相信大家对RAG机制有了更清晰的认识,并了解了在Dify平台中提升RAG效果的关键方法——父子模式的应用。同时,我们还学习了如何借助Jina Reader高效抓取网页信息,为知识库构建提供优质数据支持。基于这些能力,开发者可以更轻松地在Dify中搭建具备良好检索与生成能力的智能客服等AI应用。

#智能体开发#Dify开发#AI应用开发#RAG开发#客服智能体






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5