dify入门
概述
Dify 是一个面向未来的开源 LLM 应用开发平台,其名称源自 “Define + Modify”,旨在通过融合后端即服务与 LLMOps 理念,为开发者和企业提供生产级的生成式 AI 应用构建能力Dify。
https://docs.dify.ai/zh/use-dify/getting-started/introduction
官方源码:https://github.com/langgenius/dify/
国内源码:https://gitee.com/dify_ai/dify
参考文档:https://blog.csdn.net/qq_38196449/article/details/147394614
下载与运行
1 | |
输入邮箱、用户名、密码,点击设置,进入dify控制台页面。
关联大模型
dify是docker布署的,ollama是在宿主机上运行的,要让dify能访问ollama。
在.env文件默尾添加:
1 | |
点击控制台->头像->设置-》选择模型供应商-》找到ollama模型供应商-》点击安装
直接安装安装不上的话:点击dify市场,搜索ollama下载插件。
安装完成后,待配置-》点击ollama下的添加模型按钮:
模型名称:deepseek-r1:8b
模型类型:LLM
基础URL: http://host.docker.internal:11434
点击安装-》这时从待配置-》模型列表里。
聊天助手
进入工作室菜单-》点击聊天助手-》点击创建空白应用-》这时应用就选择了“聊天助手”类型-》输入应用名和图标及描述-》点击创建
这时进入页面就可以直接对话式的AI了。
提示词
对于在中间的有一块 编排中,我们可以添加我们的 提示词,赋予 聊天助手 特定的功能。
比如:你是一个翻译专家,擅长把中文翻译成英文,把我的输入的中文变成英文。
变量
如果我们需要在这个基础上增加不同语言的翻译功能,这块我们可以添加对应的变量。来拓展这个功能。
添加变量 sl 为 源语言 ,添加变量tl为目标语言。
提示词改为:你是一个翻译专家,擅长把翻译成,把我的输入的变成
知识库
点击知识库菜单-》点击创建知识库 -》 选择你公司的私有文档(xx管理系统使用手册、xx管理平台用户手册)
这时你创建聊天助手后,选择你刚刚创建的知识库,再问他关于xx管理系统的知识,他就可以回答了。
文本生成应用
面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等
提示词:你是一个翻译专家,擅长把翻译成,把内容“”翻译成
Agent
智能助手(Agent Assistant),利用大语言模型的推理能力,能够自主对复杂的人类任务进行目标规划、任务拆解、工具调用、过程迭代,并在没有人类干预的情况下完成任务。能够分解任务、推理思考、调用工具的对话式智能助手,是一个更加强大的功能应用了。
在工具中添加获取当前时间、星期几计算器
提示词:今天日期是多少,今天是周几
也就是在Agent中。大模型可以根据我们的需求自主编排的选择我们提供的工具来完成我们的需求。
Chatflow
面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
默认有用户输入、LLM、直接回复 三个节点
用户输入可以添加变量 weather 和 默认就有的query
LLM 添加提示词:
1 | |
直接回复节点 不动。
工作流
面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
仿照上面chatflow,创建一个工作流应用并运行。
自定义工具
我们创建的工作流应用就是一个个工具。只需要点击发布按钮时,发布为工具那里配置一下工具名。
比如新建一个工作流 “当前时间”,节点为 用户输入、当前时间应用、输出
当前时间应用节点选择使用“当前时间”工具
输出直接配置添加输出变量text
新建一个工作流“工作流套工作流”,节点为用户输入、自定义当前时间工具、LLM、输出
自定义当前时间工作节点配置为上面创建的工作流
LLM节点提示词配置:
1 | |
输出节点配置:输出变量text。
导出DSL
可以点击应用下的导出DSL, 发给别人,别人导入就可以使用了。