第一章: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
,设置管理员账户。
配置模型提供商
- 登录控制台,进入「设置 > 模型供应商」。
- 添加 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
中的端口映射。
- 停止占用端口 80 的服务,或修改
故障排查技巧
- 使用
docker logs <container_name>
查看容器日志。 - 查阅官方文档和社区资源。
第七章:总结
Dify 是一个功能强大的 LLM 应用开发平台,通过其直观的界面和丰富的功能,降低了 AI 应用开发的门槛。通过本教程,您可以快速完成 Dify 的安装和配置,并开始构建智能 AI 应用。如果您遇到问题,欢迎参考官方文档或社区资源寻求帮助。
发表回复