“没有艺术的科学是瘫痪的,没有科学的艺术是空虚的。”

卡尔·萨根 (Carl Sagan) (美国天文学家,科普作家)

标签: Agent

  • Dify 安装与配置教程

    第一章:Dify 简介

    Dify 是一个开源的大语言模型(LLM)应用开发平台,整合了后端即服务(Backend as a Service, BaaS)和 LLMOps 的理念。它的目标是让开发者和非技术用户都能快速构建生产级别的生成式人工智能应用。Dify 提供了直观的界面,将 AI 工作流、检索增强生成(RAG)管道、代理能力、模型管理和可观测性等特性融为一体,帮助用户从原型阶段快速过渡到生产部署阶段。

    主要特性:

    • 可视化 AI 工作流:通过画布构建 AI 工作流。
    • 多模型支持:支持各种商业和开源 LLM。
    • 提示词开发环境:提供提示词集成开发环境(Prompt IDE),方便编写和优化提示词。
    • RAG 管道:内置检索增强生成管道,提升知识密集型任务的表现。
    • 代理能力:支持基于 LLM 函数调用或 ReAct 模式的代理,可集成内置和自定义工具。
    • LLMOps 功能:提供监控和性能分析功能,帮助优化 AI 应用。

    第二章:准备工作

    在安装 Dify 之前,确保您的系统满足以下最低要求,并安装必要的软件。

    系统要求:

    • CPU:至少 2 核
    • 内存:至少 4 GiB(推荐 8 GiB)
    • 存储:至少 20 GiB 可用空间

    必备软件:

    • Docker 和 ​Docker Compose
      bash
      curl -fsSL https://get.docker.com | bash
      sudo systemctl enable --now docker
      sudo curl -L "https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      sudo chmod +x /usr/local/bin/docker-compose
    • Python​(源码安装需要):
      bash
      pyenv install 3.12
      pyenv global 3.12
    • Node.js
      bash
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      nvm install 18
    • Git
      bash
      sudo yum install git -y  # CentOS
      sudo apt install git -y  # Ubuntu
    • FFmpeg​(可选,用于文本转语音功能):
      bash
      sudo apt install ffmpeg -y  # Ubuntu
      brew install ffmpeg        # macOS

    第三章:Dify 的安装

    Docker Compose 安装(推荐)

    bash
    git clone https://github.com/langgenius/dify.git
    cd dify/docker
    cp .env.example .env
    
    # 启动容器
    docker compose up -d
    
    # 验证服务状态
    docker compose ps

    访问 http://服务器IP/install 完成初始化。

    本地源码安装

    bash
    git clone https://github.com/langgenius/dify.git
    cd dify/docker
    
    # 部署中间件
    cp middleware.env.example middleware.env
    docker compose -f docker-compose.middleware.yaml up -d
    
    # 部署后端服务
    cd api
    cp .env.example .env
    awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env
    poetry env use 3.12
    poetry install
    poetry run flask db upgrade
    poetry run flask run --host 0.0.0.0 --port=5001 --debug
    
    # 部署前端服务
    cd ../web
    npm install
    cp .env.example .env.local
    npm run build
    npm run start

    访问 http://127.0.0.1:3000 使用本地部署的 Dify 实例。

    第四章:Dify 的基本配置

    初始化管理员账户

    访问 http://服务器IP/install,设置管理员账户。

    配置模型提供商

    1. 登录控制台,进入「设置 > 模型供应商」。
    2. 添加 OpenAI 或其他模型提供商,输入 API 密钥并测试连接。

    环境变量示例

    ini
    # .env 核心配置
    SECRET_KEY=your_secure_key_here
    DB_PASSWORD=postgres123
    STORAGE_TYPE=s3
    AWS_S3_BUCKET_NAME=dify-storage

    第五章:Dify 的高级配置

    环境变量说明

    • SECRET_KEY:用于签署会话 Cookie 和加密敏感信息。
    • DB_HOST:PostgreSQL 数据库主机地址。
    • DB_PORT:PostgreSQL 数据库端口(默认 5432)。
    • STORAGE_TYPE:文件存储类型(如 local、s3、azure-blob 等)。
    • VECTOR_STORE:指定向量数据库类型(如 weaviate、qdrant 等)。

    常见命令

    bash
    # 重置管理员密码
    docker exec -it dify-api flask reset-password
    
    # 查看实时日志
    docker compose logs -f api
    
    # 升级版本
    git pull origin main
    docker compose down && docker compose up -d

    第六章:常见问题及解决方案

    常见问题

    • 502 Bad Gateway 错误
      • 检查容器状态:docker compose ps
      • 查看 Nginx 日志:docker compose logs nginx
    • 模型连接失败
      • 验证 API 密钥有效性。
      • 测试本地访问:curl https://api.openai.com/v1/models
    • 端口 80 被占用
      • 停止占用端口 80 的服务,或修改 docker-compose.yaml 中的端口映射。

    故障排查技巧

    • 使用 docker logs <container_name> 查看容器日志。
    • 查阅官方文档和社区资源。

    第七章:总结

    Dify 是一个功能强大的 LLM 应用开发平台,通过其直观的界面和丰富的功能,降低了 AI 应用开发的门槛。通过本教程,您可以快速完成 Dify 的安装和配置,并开始构建智能 AI 应用。如果您遇到问题,欢迎参考官方文档或社区资源寻求帮助。