使用 Dify 开发AI应用
2025-06-09 by dongnan
环境描述
- OS:Ubuntu Server 20.04
- Docker:v26.1.3
- Docker Compose:v1.29.2
- Dify 版本:v1.1.1
关键术语
- MaaS(Model as a Service):模型即服务,提供可复用的模型能力。
- LLMOps(Large Language Model Operations):围绕大语言模型的开发、部署、维护和优化的一整套流程与工具体系。
- RAG(Retrieval-Augmented Generation):检索增强生成技术,结合信息检索和生成式模型以提升问答准确性。
- ETL(Extract, Transform, Load):数据提取、转换与加载过程,用于数据清洗和整合。
- MCP(Model Context Protocol):
- Resources:LLM 参考的上下文内容。
- Tools:LLM 可调用的功能或插件。
- Prompts:引导 LLM 生成的提示词模板。
模型类型
- 推理模型:用于智能对话、对话命名、问题生成等任务。
- Embedding 模型:将文本转为向量,供知识库检索使用。
- Rerank 模型:对检索结果进行重排序,优化匹配准确性。
什么是 Dify?
Dify(Do it for you) 是一个开源的大模型应用开发平台,融合 BaaS(Backend as a Service)与 LLMOps 思想,帮助开发者快速构建、管理和部署生成式 AI 应用。
主要特点
- 支持数百种国内外大模型。
- 直观的 Prompt 可视化编排界面。
- 内建高质量的 RAG 引擎和知识库系统。
- 稳健的 Agent 框架与流程编排能力。
- 提供 API 和 UI,支持前后端集成。
- 开源部署,保障数据自主可控。
技术架构
- 后端:Python / Flask / PostgreSQL
- 前端:Next.js
应用类型
Dify 提供五种应用模式:
- 聊天助手:构建 LLM 对话交互。
- 文本生成:适用于写作、分类、翻译等文本任务。
- Agent:具备任务拆解、工具调用与推理能力。
- 对话流(Chatflow):设计多轮对话的动态流程。
- 工作流(Workflow):面向批处理和自动化生成任务。
部署 Dify
参考官方手册,推荐使用 Docker 方式快速部署。
# 1. 进入 Docker 目录
cd dify/docker
# 2. 拷贝环境配置文件
cp .env.example .env
# 3. 启动服务
docker-compose up -d
# 4. 查看服务状态
docker-compose ps
配置 Dify
-
设置时区
- 设置 → 语言 → 时区 → Shanghai
-
安装本地模型插件
- 准备 .difypkg 模型文件(如千问通义提供的 langgenius-tongyi_0.0.11.difypkg)。
- 在 Dify 界面点击:「插件」→「安装插件」→「本地插件」→「浏览插件」→ 安装。
Demo
创建一个 对话流(Chatflow) 应用
编排过程(细节略)
测试AI应用
参考
- https://github.com/langgenius/dify/blob/main/README_CN.md