预估时长:1.5 小时
实践目标:
通过本案例的实践操作让大家快速掌握零代码配置模式实现Dify智能助手应用的开发。通过使用DeepSeek-chat模型以及RAG外挂知识库技术实现针对儿科问诊场景的智能助手聊天对话应用。
前置技能:
如果需要了解Dify的本地部署搭建以及系统配置相关技术的学习者可以参考以下文档:
实践运行效果:
快速知识点:
什么是 智能聊天?
Dify 智能聊天类型应用可以帮助开发者零代码配置模式快速构建专业场景应用的聊天智能问答应用。通过多轮对话模式以及RAG知识库,帮助提问用户解答专业性强、准确的回复。
什么是 知识库?
知识库功能将各种只是类文档通过分词技术构建成知识图谱并进行存储,便于通过RAG外部挂载技术与任意一个独立的应用绑定,为该应用提供该知识库领域专业回答支持。
Dify提供了一套简单易用的用户界面来方便应用构建者管理个人或者团队的知识库,并能够快速集成(RAG技术)至 AI 应用中。开发者可以将企业内部文档、FAQ、规范信息等内容上传至知识库进行结构化处理,供后续 LLM 查询,构建更多场景的智能聊天对话应用。
实验步骤:
应用整体通过5步即可快速完成,具体如下:
步骤1:创建知识库
Dify知识库的构建具体可分为三个步骤,即 选择数据源、文本分段与清晰、处理并完成。
1.1 选择数据源。点击Dify主界面上部【知识库】,在 知识库 主界面 点击 【创建知识库】。
1.2 上传 数据源。进入到【选择数据源】界面,把选择 导入文本文件,将 准备好的 《儿科学名词解释问答题.docx》上传(这里大家可以自行准备各类知识库文档), 点击【下一步】。
1.3 文本分段与清洗。DIfy平台会按照模版配置对上传的数据文件材料进行处理,并存储到数据库中。对于初学者,我们需要按照默认配置即可。
Tips:可以点击【预览块】查看右侧处理好的知识图谱模块。
文档会通过系统预设的 bge-m3:latest 模型 进行分词处理,最终将处理好的数据存储到向量数据库中,我们也可以配置更多的模型,提供更多种的模型选择。目前我们先不用关心这些,我们只需要点击最终的【保存并处理】即可。
1.4 处理并完成。最终我们看到系统提示成功!我们点击下面的【前往文档->】按钮。
最终,我们看到 知识库文档已经创建完毕,并能够在Dify中查到。
OK,到此为止,知识库创建完毕!
步骤2:创建智能体聊天类的应用
2.1 创建一个空白的应用。选择Dify主界面的【工作室】,点击【创建空白应用】。
2.2 创建智能聊天应用。根据导航,点击 新手指南,选中【智能聊天】,编写一个应用的名称【儿科问诊智能助手】,最后点击【创建】即可。
好了,智能聊天应用创建完毕!
步骤3:编写系统提示词
提示词是对话应用非常重要的技术。系统提示词也是对智能体的身份预设。如果大家对提示词掌握程度不是很好,我们完全可以通过【生成】,让 大模型(我们选择 qwen2.5:7b)根据我们的意图生成一个标准的系统提示词,更好地定义智能体。
3.1 智能体提示词编写。进入到应用编排界面,点击【生成】按钮,进入到 提示词生成器 中,让 大模型 根据我们的指令意图生成大模型可以理解的标准提示词。
3.2 编写用户意图指令转换成标准提示词。在 指令 中将我们对智能体的意图指令写入,并点击【生成】,大模型 将会在右侧帮助我们生成提示词以及对话开场白。我们只需要点击【应用】,这些配置会自动部署到智能体上,非常方便。
我们把智能体定义成一个专业资深的儿科专家,并对其能力和要做的事情进行描述。具体指令描述如下所示:
指令:
你是一名专业的儿童医学专家,在和家长沟通的时候,你通过专业的知识解答能够给家长一个非常满意的答案,而且你通过多轮追问,能够快速诊断出孩子的病情并给出专业的诊疗意见。同时对很多儿科专有名词进行专业解释。
回到 编排 界面,我们看到 所有的设置 都已经部署到了 智能聊天 对话上。
稍等,我们在使用前,还要把 步骤1 创建的知识库 挂在上。
步骤4:RAG挂在知识库
4.1 点击 知识库 后侧的 【+添加】链接
4.2 在弹出对话框中,单击选中 步骤1 配置的知识库,再点击【添加】即可。具体操作如下:
4.3 回到 编排 界面,我们看到 知识库 已经挂载上了。这时智能体的问答都会严格基于这个知识库内容进行回复。大幅度杜绝了 模型幻觉,大幅度提升了专业性和权威性。
Tips:由于更新了智能体的知识库,因此我们要点击右侧【重新开始】刷新智能体应用。
步骤5:预览&发布运行
在重新发布之后,我们看到可以输入 访客的基本信息,包括:父母问题、孩子年龄、用药历史以及更多信息等。这有助于智能体在多轮对话中,一直依据这个患者的基本信息进行回答。同时我们也可以点击右上角的【图标】,把基本信息收起。
测试一下:
经过3轮对话,把孩子的症状、持续时间,以及根据智能助手的精准追问,最终判断出孩子最可能是 急性阑尾炎,并且给出了专业处理意见。效果还是不错的。
最后,我们可以点击编排界面右上的【发布】按钮,点击 发布 后,点击【运行】就可以独立在浏览器里部署应用了。
最终在浏览器独立运行效果:
总结:
这是一次非凡的体验!我们实现了零代码配置方式快速完成了一个专业的智能体助手应用。通过这次实践,我们对Dify智能体对话和应用开发以及知识库构建和RAG外挂技术都有了具体的认知和操作实践。都多练习,还有更多精彩的智能体开发等着我们……