Dify动手实践教程1
课程参考链接:https://www.datawhale.cn/learn/content/168/4036
官方下载:Releases · langgenius/dify · GitHub
官方文档:产品简介 - Dify Docs
课程第一节是有关dify的使用或搭建的。使用方案有俩种
1.可以在dify的云服务上建账号+自己的模型api key去实现。
2.如果你比较注重隐私或长期调试,也可以选择本地搭建,注意本地搭建的一般是社区版,建议使用docker安装。
选择本地搭建的话,恭喜你进入dify应用的深度使用体验环节。搭建过程可以查看第一行的链接教程,写的比较详细了,碰到困难多找助教或bing一下大概率都可以解决。本文就是按作者使用的经验或踩过的坑来简单说下dify的作用和预告其它几节的内容,希望帮助大家在使用过程中可以更清楚的知道dify对你有什么用:
一,dify有哪些应用,这些应用的作用点是什么。
1 聊天助手-以对话形式与用户交互,支持多轮聊天。---智能客服、AI 顾问、问答机器人
2 Agent应用-通过配置 Agent 特性(如工具调用、记忆机制等),让应用具备更强的自主决策与执行能。---自动化任务执行、智能助理
3 文本生成应用-输入文本提示,输出高质量内容,偏向单轮生成。---内容创作、文案撰写、新闻摘要
4 Chatflow-基于流程图可视化方式设计对话逻辑,适合有多个分支、条件判断的应用。---复杂对话流程设计、多节点跳转
5 Workflow-支持多步骤节点编排(如模型调用、插件调用、条件判断等),实现复杂的数据流转和处理。---信息提取、数据处理、自动化流程
此外,dify还支持RAG检索增强生成(Retrieval Augmented Generation,RAG)是一种强大的工具,它通过将外部知识整合到生成过程中,增强了大型语言模型(LLM)的性能。个人理解RAG在dify中主要支持以上应用类型的使用。
这里主要说下Agent和Workflow:
• Agent智能体则更像是一个能够自主思考的伙伴,它凭借强大的模型能力,独立分析任务并动态规划执行路径(取决于工具的调用能力)。
• Workflow工作流采取的是“分解复杂”的策略,由专家精心规划任务分解,确保每个步骤都经过精细优化和严格验证。这就像一个经验老到的项目经理,提前安排好每个工作节点,确保项目按部就班的进行。
这两种应用各有所长,其选择取决于具体的应用场景和需求。工作流更适合那些需要高度控制和标准化的场合,而智能体则更擅长处理需要灵活应对的任务。不过教程里没有Agent中涉及Fuction calling或MCP的内容,希望后续可以补上。
Chatflow可以看做是支持记忆复杂多轮对话的工作流,如购物助手,根据用户选择(售前咨询,售后支持,技术支持)来更针对性的解决问题。
二,课程预告
第二,三节是聊天助手类的,主要涉及prompt与模型的应用。本地的话可以用ollama下载qwen3或deepseek-r1来玩下。在线的可以选OpenRounter,glm4-flash这类。好处是free。缺点是本地模型响应和能力需要更好的显卡资源,但更隐私安全。在线的话响应或效果会更好,缺点是并发速率或有次数限制。
第四节是RAG的应用,这里要说下dify的RAG效果只能说还可以,比anythingllm直接扔文档稍微强那么一丢丢。一个准确率达到90%以上RAG需要关注但不限于以下方向--- 1.模型配置。2.高效的prompt。3.数据萃取。4.配置优化。5.动态更新。6.领域微调。7.评估模型。应用层面的话有条件上Ragflow,Reranker模型吧。
第五节是工作流,目前教程写了一半。工作流个人认为是比较实用的:通过prompt对llm进行一定的指导或约束让其完成固定的工作流程,你可以思考下把你工作过程中分分用工作流的形式实现,如总结文档中的数据,形成图表形式或者解析文件,生成xml,md,json的格式输出。
第六节感觉和第四节雷同,不知这个综合的点在哪。希望后续文档有更新。另外知识库中元数据的概念也可以介绍一下。
三,坑?
当然有了,依稀记得dify1.0版发布时模型加不上,后面1.01修复的,所以下版本时看下发布日期新不新,最好看下release note分析有没有你用到的,否则还是要稳定版本靠谱一点。
其它坑如忘记密码了,访问401了,这类的在下面链接会找到答案:
dify-docs/zh-hans/learn-more/faq at main · langgenius/dify-docs · GitHub