跳转至

使用 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 提供五种应用模式:

  1. 聊天助手:构建 LLM 对话交互。
  2. 文本生成:适用于写作、分类、翻译等文本任务。
  3. Agent:具备任务拆解、工具调用与推理能力。
  4. 对话流(Chatflow):设计多轮对话的动态流程。
  5. 工作流(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
回到页面顶部