Dify应用开发课程: 从实践到原理
为了帮助初学者快速入门,我们的课程采用了先实践再解析理论的方式。放心学习,麦金叔会带你轻松掌握,请做好准备,开始我们的Dify之旅。
01. 动手开始
进入Dify后,选择创建一个空白应用程序:
- 选择工作流,输入应用的名称,再点击"创建"。
- 在出现的空白画布上,Dify只提供了一个开始节点。点击"知识检索"。
- 配置知识库,若没有,需要先上传。
- 添加变量从知识库查询内容,选择输入类型,例如文本类型的input。
- 继续添加一个LLM节点,选择适当的模型和上下文。
在SYSTEM中填入提示词:根据用户输入和知识检索结果,输出用户期望的adcode值。
- 完成后,添加结束节点并设定输出变量。
- 点击"发布"并保存,准备测试。
02. 测试及诊断
点击"运行"按钮,查看结果:
- 若结果不符预期,可使用“追踪”功能定位问题。
完成后你已经可以通过输入地区名称获取相应adcode值了。实际应用中,这些数据可进一步用于天气查询等功能。
03. 原理解析
我们已实现从知识库定向检索内容,接下来是RAG(检索增强生成)的基本理解。
预处理阶段:
- 格式转换:将各种文档格式转换为审核文本格式。
- 文本清洗:去除冗余标签和符号,统一大小写。
- 分词处理:按语法规范进行分词。
向量化阶段:
- 嵌入模型:利用预训练模型将文本转为向量。
- 向量生成:为每段文本生成语义向量。
构建索引阶段:
- 向量索引:利用技术如HNSW图,实现高效检索。
- 索引存储:存储索引以备后续查询。
查询输出阶段:
- 查询向量化:将用户输入转为向量,通过相似度检索。
- 排序筛选:根据相似度筛选结果。
- 文本提取:提取并返回对应文本。
总结
今天,我们迈出了第一步,初探Dify中的"知识检索"功能,了解RAG原理的基本知识。这个知识点是日后开发复杂功能的基础,期待大家多加练习,增强操作体验。