
Dify是一个开源的LLM应用开发平台,它最大的特点是将复杂的AI应用开发流程可视化、模块化,让你即使不懂代码,也能通过拖拽和配置的方式构建出功能强大的AI Agent。
对于零基础开发者来说,Dify有三大核心优势:
简单来说,Dify就像一个"AI应用组装工厂",你只需要准备好模型和想法,剩下的交给平台来完成。
项目 | 最低要求 | 推荐配置 |
|---|---|---|
CPU | 2核 | 4核及以上 |
内存 | 8GB | 16GB+ |
硬盘 | 50GB | 100GB+(用于存储向量数据) |
操作系统 | Linux / macOS / Windows | Ubuntu 20.04+ 或 macOS 12+ |
Docker | 20.10+ | 最新稳定版 |
Dify官方提供了Docker Compose方式,这是最简单的部署路径:
第一步:克隆项目仓库
git clone https://github.com/langgenius/dify.git
cd dify/docker第二步:启动服务
# 复制环境变量模板
cp .env.example .env
# 启动所有容器
docker compose up -d首次启动会自动下载所需的镜像文件(约2-3GB),请耐心等待。看到以下输出即表示启动成功:
✔ Container docker-web-1 Started
✔ Container docker-api-1 Started
✔ Container docker-worker-1 Started
✔ Container docker-nginx-1 Started第三步:访问Dify控制台
打开浏览器,访问 http://localhost:8080,注册第一个管理员账号即可进入主界面。
小贴士:如果你是Windows用户,建议使用WSL2环境来运行Docker,兼容性更好。
在动手开发之前,先理解Dify的四个核心概念:
应用是你最终交付给用户使用的AI产品形态。Dify支持三种应用类型:
知识库是Agent的"外脑",用来存储你的私有数据(文档、FAQ、数据库记录等)。当用户提问时,Agent会先从知识库中检索相关信息,再结合大模型生成答案——这就是RAG(检索增强生成)的核心机制。
工具是Agent可以调用的外部能力,就像给Agent装上了"手和脚"。内置工具包括:
工作流是Dify最强大的功能之一,它允许你用节点图的方式编排复杂的业务逻辑,例如:输入 → 知识库检索 → LLM推理 → 条件分支 → 输出。
现在,我们正式开始开发第一个Agent——一个能回答你本地文档问题的智能助手。
在Agent的设置页面,找到"模型配置":
本地模型替代方案:如果你不想依赖云端API,可以使用Ollama部署Qwen或Llama 3等开源模型,然后在Dify中添加"Ollama"作为模型提供商,填写本地地址(如
http://localhost:11434)即可。
这是让Agent回答本地问题的关键步骤:
完成后,你的知识库就建好了。
回到Agent设置页面,找到"工具"选项卡:
现在,你的Agent已经具备了检索本地文档的能力。
在Agent设置中找到"系统指令"输入框,填入以下提示词:
你是一个专业的公司知识助手,你的职责是帮助员工快速找到公司内部文档中的信息。
规则:
1. 当用户提问时,优先使用知识库检索工具查找相关信息
2. 如果知识库中没有相关信息,明确告知用户"抱歉,我未能从现有文档中找到答案"
3. 回答要简洁、准确,引用具体的文档来源
4. 不要编造信息,不要使用知识库以外的知识这段指令让Agent明确了自己的角色和行为边界,有效避免"幻觉"问题。
点击右上角的"预览"或"运行"按钮,进入对话界面。尝试输入:
"我们公司的年假政策是什么?"
Agent会自动调用知识库检索工具,查找相关文档片段,然后基于检索结果生成回答。你可以在右侧看到Agent的"思考过程"——它调用了什么工具、检索到了哪些内容。
测试满意后,点击"发布"按钮。Dify会生成一个可分享的链接或嵌入代码,你可以:
当内置工具不够用时,你可以让Agent调用自己的API服务。
假设你有一个天气API:
https://api.weather.com/currentcity(城市名)在Dify中配置好这个工具后,Agent就可以回答"北京今天天气怎么样?"这样的问题,自动调用你的天气API获取实时数据。
ollama run qwen:7b)http://host.docker.internal:11434(Docker内访问宿主机)qwen:7b通过本教程,你已经完成了:
接下来可以尝试的方向:
Dify的低代码特性让AI应用开发的门槛大幅降低,即使你只有产品思维而没有编程基础,也能快速将想法变成可用的Agent。关键在于多动手尝试,从一个具体的场景开始,逐步扩展功能边界。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。