Dify使用记录
文章目录
- Dify使用记录
- 一、前言
- 1.简介
- 2.应用
- 3.环境
- 二、正文
- 1.安装Dify
- 2.基础知识
- 1)应用创建流程
- (1)创建应用
- (2)编排应用
- (3)发布应用
- 2)变量
- (1)系统变量
- (2)环境变量
- (3)会话变量
- 3)节点
- 3.接入大模型
- 1)模型供应商
- 2)接入深度求索
- 3)接入Ollama
- 4)默认模型设置
- 4.插件
- 1)查看插件
- 2)安装Stability插件(可选)
- 5.聊天助手
- 1)创建应用
- 2)编排和发布应用
- 3)测试效果
- 6.应用功能
- 7.Agent
- 1)创建应用
- 2)编排和发布应用
- 3)测试效果
- 8.文本生成应用
- 1)创建应用
- 2)编排和发布应用
- 3)测试效果
- 9.对话流(Chatflow)
- 1)创建应用
- 2)编排和发布应用
- (1)开始节点
- (2)添加节点
- (3)问题分类节点
- (3.1)条件分支节点
- (3.1.1)文档提取器节点
- (3.1.1.1)大模型节点
- (3.1.1.1.1)直接回复节点
- (3.1.2)直接回复节点
- (3.2)大模型节点
- (3.2.1)直接回复节点
- 3)运行
- 4)测试效果
- 10.工作流(Workflow)
- 1)创建应用
- 2)编排和发布应用
- (1)开始节点
- (2)条件分支节点
- (2.1)文档提取器节点
- (2.1.1)大模型节点
- (2.1.1.1)结束节点
- (2.2)大模型节点
- (2.2.1)结束节点
- 3)运行
- 4)测试效果
- 11.知识库
- 1)创建知识库
- 2)选择数据源
- 3)文本分段与清洗
- 4)处理并完成
- 5)创建技术文档助手
- 12.其它
- 1)创建API密钥
Dify使用记录
一、前言
1.简介
Dify 是一款开源的大语言模型(LLM)应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的工作流,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
2.应用
-
聊天助手:基于语言模型(LM)的对话式交互系统,支持自然流畅的多轮沟通。
-
Agent:具备任务分解、逻辑推理与工具调用能力的智能体,可自主完成复杂操作。
-
文本生成应用:专为文本创作设计的助手,可完成故事撰写、分类、翻译等生成类任务。
-
对话流(Chatflow):支持记忆与动态编排的多轮对话框架,适用于流程化交互场景。
-
工作流(Workflow):面向自动化批处理的单轮任务引擎,高效生成结构化结果。
-
知识库(Knowledge Base):基于RAG技术的动态知识中枢,通过多源数据(文档/数据库/API)的语义向量化存储与智能检索,为AI模型提供实时、精准的外部知识支持,显著提升生成内容的专业性与可信度,适用于客服、教育、数据分析等需高精度知识引用的场景。
-
补充说明:
Chatflow 和 Workflow 的核心区别在于交互逻辑与应用场景:
-
Chatflow 是动态对话智能管家,支持多轮对话记忆(通过
sys.conversation_id
关联历史)、流式交互(可实时调整输出),适合需持续用户交互的场景(如客服咨询、法律咨询、创意协作); -
Workflow 是单次任务执行引擎,无状态且需一次性输入参数,按预设节点顺序执行(如数据处理、批量文件转换),必须通过 End节点终止流程,适用于自动化批处理场景。
3.环境
Dify 版本:1.8.1
Dify 产品介绍:https://docs.dify.ai/zh-hans/introduction
Docker Compose 部署:https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/docker-compose
Dify - 关键概念:https://docs.dify.ai/zh-hans/guides/workflow/key-concept
Dify - 构建应用:https://docs.dify.ai/zh-hans/guides/application-orchestrate/readme
Dify- 创建应用:https://docs.dify.ai/zh-hans/guides/application-orchestrate/creating-an-application
Dify - 变量:https://docs.dify.ai/zh-hans/guides/workflow/variables
Dify - 节点说明:https://docs.dify.ai/zh-hans/guides/workflow/node/start
宝塔面板部署:https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/bt-panel
如何搭建 AI 图片生成应用:https://docs.dify.ai/zh-hans/workshop/basic/build-ai-image-generation-app
openEuler2403安装Dify:https://blog.csdn.net/u011424614/article/details/152092194
windows11安装Ollama:https://blog.csdn.net/u011424614/article/details/151934868
openEuler2403安装Ollama:https://blog.csdn.net/u011424614/article/details/151934804
openEuler常用操作指令:https://blog.csdn.net/u011424614/article/details/150942929
openEuler中LVM调整实现home与root分区空间平衡:https://blog.csdn.net/u011424614/article/details/150961763
VirtualBox安装openEuler24.03:https://blog.csdn.net/u011424614/article/details/150725588
VMware安装openEuler24.03:https://blog.csdn.net/u011424614/article/details/150723134
二、正文
1.安装Dify
- 具体操作参考:《openEuler2403安装Dify》
2.基础知识
1)应用创建流程
Dify - 构建应用:https://docs.dify.ai/zh-hans/guides/application-orchestrate/readme
Dify- 创建应用:https://docs.dify.ai/zh-hans/guides/application-orchestrate/creating-an-application
(1)创建应用
-
基于应用模板创建(新手推荐)
-
创建一个空白应用
-
通过DSL文件(导入DSL / 导出DSL)
(2)编排应用
- 填写提示词
- 添加上下文
- 添加文件上传
(3)发布应用
2)变量
Dify - 变量:https://docs.dify.ai/zh-hans/guides/workflow/variables
- 变量(Variables)是 Dify 中用于 动态控制 AI 生成内容 的关键元素,允许用户通过输入参数灵活调整输出结果。Dify变量包括:系统变量、环境变量和会话变量。
(1)系统变量
- 系统变量指的是在 Chatflow / Workflow 应用内预设的系统级参数,可以被其它节点全局读取。系统级变量均以
sys
开头。
(2)环境变量
-
环境变量用于保护工作流内所涉及的敏感信息,例如运行工作流时所涉及的 API 密钥、数据库密码等。它们被存储在工作流程中,而不是代码中,以便在不同环境中共享。
-
支持以下三种数据类型:
-
String 字符串
-
Number 数字
-
Secret 密钥
(3)会话变量
-
会话变量允许应用开发者在同一个 Chatflow 会话内,指定需要被临时存储的特定信息,并确保在当前工作流内的多轮对话内都能够引用该信息,如上下文、上传至对话框的文件(即将上线)、 用户在对话过程中所输入的偏好信息等。
-
会话变量支持以下八种数据类型:
-
String 字符串
-
Number 数值
-
Object 对象
-
Boolean 布尔值
-
Array[string] 字符串数组
-
Array[number] 数值数组
-
Array[object] 对象数组
-
Array[boolean] 布尔值数组
3)节点
Dify - 节点说明:https://docs.dify.ai/zh-hans/guides/workflow/node/start
节点是工作流的关键构成,通过连接不同功能的节点,执行工作流的一系列操作。
3.接入大模型
1)模型供应商
- 头像 - 设置
- 模型供应商
2)接入深度求索
- 安装:深度求索
- 安装后,回到顶部,点击【设置】按钮
- 登录深度求索开发平台:https://platform.deepseek.com/
- 登录后,需要 充值 和 创建API key
- 输入:凭据名称、API Key、API地址
3)接入Ollama
(1)安装 Ollama 并运行大模型
- 具体操作参考1:《windows11安装Ollama》
- 具体操作参考2:《openEuler2403安装Ollama》
- 已运行:qwen3:8b 【生成模型】 和 qwen3-embedding:8b 【嵌入模型】
(2)安装:Ollama
- 安装后,回到顶部,点击【添加模型】按钮
- 输入:模型名称(ollama list 查询运行的模型名称)
- 选择:模型类型(生成模型选择【LLM】,嵌入模型选择【Text Embedding】)
- 输入:凭据名称、基础URL
- 选择:是否支持函数调用,点击【是】
4)默认模型设置
- 模型供应商 - 系统模型设置
4.插件
1)查看插件
- 头部菜单右上角 - 插件
2)安装Stability插件(可选)
Stability提供了一套专注于生成式媒体的AI工具与模型组合。该套件能够通过文本提示或其他输入形式,生成图像、音频和视频内容,其包含的多样化生成模型可适配不同艺术风格与媒体类型。
- 插件 - 探索 Marketplace - Stability:点击【安装】按钮
- 注册 stability.ai 账号,获取 API Key:https://platform.stability.ai/account/keys
- 插件 - Stability:点击【API Key 授权配置】
5.聊天助手
1)创建应用
-
示例:智能Java面试官
-
工作室 - 全部 - 创建空白应用
- 新手适用 - 聊天助手 - 应用名称&图标
2)编排和发布应用
- 选择:大模型
- 输入:提示词
- 【发布】 - 【运行】
3)测试效果
6.应用功能
- 以聊天助手为例,打开编排界面,点击【管理】按钮
- 应用功能
- 对话开场白 :可自定义 AI 的初始问候语,引导用户进入流畅的对话体验;
- 下一步问题建议:在对话过程中智能推荐相关提问,帮助用户深入探索话题;
- 引用和归属:自动标注 AI 生成内容的来源(如引用外部数据或知识库),确保信息透明;
- 内容审查:内置审核机制,过滤敏感或不恰当内容,保障对话安全合规;
- 标注回复:支持对 AI 的回复进行分类标记(如“创意类”“事实类”),便于后续优化和检索。
7.Agent
1)创建应用
-
示例:App图标生成器
-
工作室 - 全部 - 创建空白应用
- 新手适用 - Agent - 应用名称&图标
- 点击【创建】按钮
2)编排和发布应用
- 参考本文第 4 章,安装 Stability 插件
- 选择:大模型
- 输入:提示词
- 选择:添加 Stability 插件
- 【发布】 - 【运行】
3)测试效果
8.文本生成应用
1)创建应用
-
示例:歌词生成器
-
工作室 - 全部 - 创建空白应用
- 新手适用 - 文本生成应用 - 应用名称&图标
- 点击【创建】按钮
2)编排和发布应用
- 选择:大模型
- 输入:提示词(包含变量)
- 输入:变量
- 【发布】 - 【运行】
3)测试效果
9.对话流(Chatflow)
1)创建应用
-
示例:智能助手
-
工作室 - 全部 - 创建空白应用
- Chatflow - 应用名称&图标
- 点击【创建】按钮
2)编排和发布应用
(1)开始节点
- 开始节点支持文件上传
- 点击【开始】节点
- 右侧,点击【加号】按钮,添加变量
(2)添加节点
- 点击【加号】,添加下一个节点
(3)问题分类节点
-
选择:大模型
-
输入:问题分类的描述
(3.1)条件分支节点
- 问题分类器节点的【分类1】添加下一个节点【条件分支节点】
- 选择:【上传附件】变量
- 选择:判断条件(存在)
(3.1.1)文档提取器节点
- 3.1 条件分支节点【IF】添加下一个节点【文档提取器节点】
- 选择:【上传附件】变量
(3.1.1.1)大模型节点
- 3.1.1 文档提取器节点,添加下一个节点【大模型节点】
- 选择:大模型
- 输入:提示词(提示:输入【 { 】左尖括号时,会弹出变量选择窗口)
(3.1.1.1.1)直接回复节点
- 3.1.1.1 大模型节点,添加下一个节点【直接回复节点】
- 输入:回复内容为大模型的输出内容(提示:输入【 { 】左尖括号时,会弹出变量选择窗口)
(3.1.2)直接回复节点
- 3.1 条件分支节点的【ELSE】,添加下一个节点【直接回复节点】
- 输入:提示词
(3.2)大模型节点
- 问题分类器节点的【分类2】添加下一个节点【大模型节点】
- 选择:大模型
- 输入:提示词(提示:输入【 { 】左尖括号时,会弹出变量选择窗口)
(3.2.1)直接回复节点
- 3.2 大模型节点,添加下一个节点【直接回复节点】
- 输入:回复内容为大模型的输出内容(提示:输入【 { 】左尖括号时,会弹出变量选择窗口)
3)运行
- 完整流程图
- 【发布】 - 【运行】
4)测试效果
10.工作流(Workflow)
1)创建应用
-
示例:中文转英文翻译器
-
工作室 - 全部 - 创建空白应用
- 工作流 - 应用名称&图标
- 点击【创建】按钮
2)编排和发布应用
(1)开始节点
- 开始节点支持文件上传
- 点击【开始】节点
- 右侧,点击【加号】按钮,添加变量
- 变量1(段落):中文内容,需要翻译的内容
- 变量2(单文件):可上传保存了专业词汇的文档,用于翻译参考
(2)条件分支节点
- 开始节点,添加下一个节点【条件分支节点】
- 选择:【专业词汇文档】变量
- 选择:判断条件(存在)
(2.1)文档提取器节点
- **2 条件分支节点 **的【IF】添加下一个节点【文档提取器节点】
- 选择:【专业词汇文档】变量
(2.1.1)大模型节点
- 2.1 文档提取器节点,添加下一个节点【大模型节点】
- 选择:大模型
- 输入:提示词(提示:输入【 { 】左尖括号时,会弹出变量选择窗口)
(2.1.1.1)结束节点
- 2.1.1 大模型节点,添加下一个节点【结束节点】
- 点击【加号】按钮,添加变量
- 选择:大模型输出文本变量
(2.2)大模型节点
- 2 条件分支节点 的【ELSE】添加下一个节点【大模型节点】
- 选择:大模型
- 输入:提示词(提示:输入【 { 】左尖括号时,会弹出变量选择窗口)
(2.2.1)结束节点
- 2.2 大模型节点,添加下一个节点【结束节点】
- 点击【加号】按钮,添加变量
- 选择:大模型输出文本变量
3)运行
- 完整流程图
- 【发布】 - 【运行】
4)测试效果
- 专业词汇文档内容:
人工智能=Artificial Intelligence
医学影像=Medical Imaging
深度学习算法=Deep Learning Algorithm
自然语言处理=Natural Language Processing
病历摘要=Medical Record Summary
数据隐私=Data Privacy
个人信息保护法=Personal Information Protection Law
- 翻译内容:
人工智能在医疗领域的应用日益广泛。例如,通过深度学习算法分析医学影像,可辅助医生快速识别肿瘤。此外,自然语言处理技术能自动生成患者病历摘要,大幅提升工作效率。但需注意数据隐私保护问题,需符合《个人信息保护法》相关规定。
- 测试效果
11.知识库
1)创建知识库
- 知识库 - 创建知识库
2)选择数据源
-
选择:导入已有文本
-
选择:需要导入的 pdf 文档(每个文件不能超过 15 MB)
-
点击:【下一步】按钮
3)文本分段与清洗
-
分段设置:使用默认
-
索引方式:使用默认
-
点击:【保存并处理】按钮
- 索引方式 - 补充:如果有 嵌入模型,可选择【高质量】
4)处理并完成
- 等待嵌入完成
- 点击【前往文档】按钮
- 查看文档状态
5)创建技术文档助手
-
参考本文 5.聊天助手 章节,创建:技术文档助手应用
-
创建空白应用
-
选择:大模型
-
输入:提示词
-
选择:知识库
-
【发布】-【运行】
- 测试效果
12.其它
1)创建API密钥
- 应用编排页面 - 访问API:点击【API 密钥】按钮