基础开发指南
本指南将帮助您快速上手Dify平台,从环境准备、安装配置到创建您的第一个AI应用。
环境要求
使用托管版本
如果您选择使用Dify.AI提供的托管版本,只需要:
- 现代网络浏览器(Chrome, Firefox, Edge等)
- 稳定的网络连接
- Dify.AI账户
自行部署要求
如果您选择自行部署Dify,需要准备:
最低配置
- CPU: 4核
- 内存: 8GB RAM
- 存储: 20GB可用空间
- 操作系统: Ubuntu 20.04+, Debian 11+, CentOS 8+, macOS, Windows 10/11
推荐配置
- CPU: 8核或更高
- 内存: 16GB RAM或更高
- 存储: 50GB+ SSD
- 操作系统: Ubuntu 22.04 LTS
软件依赖
- Docker & Docker Compose
- Node.js 18+
- Python 3.10+
- PostgreSQL 13+
- Redis 6+
安装与部署
方式一:使用Docker Compose(推荐)
- 克隆Dify仓库
git clone https://github.com/langgenius/dify.git
cd dify
- 创建环境变量文件
cp .env.example .env
- 编辑.env文件,配置必要的环境变量
# 基础配置
CONSOLE_API_URL=http://localhost:5001
APP_API_URL=http://localhost:5001
CONSOLE_WEB_URL=http://localhost:3000
APP_WEB_URL=http://localhost:8080
# 数据库配置
DB_USERNAME=postgres
DB_PASSWORD=your_password
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=dify
# Redis配 置
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_USERNAME=
REDIS_PASSWORD=
REDIS_DB=0
# 存储配置
STORAGE_TYPE=local
LOCAL_STORAGE_PATH=/app/api/storage
- 启动服务
docker-compose up -d
- 访问控制台
浏览器访问
http://localhost:3000,完成初始账户设置。
方式二:源码安装
后端API服务
- 准备Python环境
cd api
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
pip install -r requirements.txt
- 配置环境变量
cp .env.example .env
# 编辑.env文件设置必要配置
- 启动API服务
flask run --host 0.0.0.0 --port 5001
前端Web控制台
- 准备Node.js环境
cd web
npm install
- 创建环境变量文件
cp .env.example .env
- 启动Web控制台
npm run dev
快速开始
第一步:配置AI提供商
- 登录Dify控制台
- 进入"设置" > "AI提供商"
- 添加您的AI服务提供商API密钥,如OpenAI、Anthropic等
- 测试连接确保配置正确
第二步:创建应用
-
在Dify控制台主页点击"创建应用"
-
选择应用类型:
- 对话型应用:类似聊天机器人的交互式应用
- 助手型应用:融合对话与完成能力的全能助手
- 文本生成型应用:专注于内容创作的应用
-
选择一个模板或从零开始
-
设置应用名称和描述
-
选择基础模型(如GPT-4、Claude等)
-
点击"创建"完成初始设置
第三步:配置提示词
- 进入您创建的应用
- 点击"提示词工程"标签
- 设置系统提示词,定义AI的行为和能力边界
- 添加用户提示词示例,帮助AI理解交互模式
- 使用变量功能增强提示词灵活性:
请作为一名${industry}领域的专家,回答关于${topic}的问题。 - 保存并测试提示词效果
第四步:添加知识库(可选)
- 进入"知识库"部分
- 点击"创建知识库"
- 设置知识库名称和描述
- 上传文档(支持PDF、Word、Markdown等)
- 系统会自动处理文档,分块并创建向量索引
- 将知识库关联到您的应用
- 配置知识检索设置:
- 相关度阈值
- 检索数量
- 排序方式
第五步:发布和集成
- 完成应用配置后,点击"发布"
- 系统会生成API密钥和集成代码
- 选择集成方式:
- WebApp:使用Dify提供的网页界面
- API:通过REST API集成到您的 应用
- SDK:使用官方SDK在代码中集成
API集成示例
JavaScript集成
// 安装SDK
// npm install dify-client
import { DifyClient } from 'dify-client';
// 初始化客户端
const client = new DifyClient({
apiKey: 'your_api_key',
endpoint: 'https://api.dify.ai/v1', // 或您自己部署的API地址
});
// 对话型应用示例
async function chatWithDify() {
const response = await client.chat({
query: '如何使用Dify创建一个知识库应用?',
user: 'user_123',
stream: true, // 启用流式响应
onMessage: (chunk) => {
console.log('收到消息片段:', chunk.answer);
},
onFinish: (response) => {
console.log('完整回答:', response.answer);
},
});
}
// 文本生成型应用示例
async function generateWithDify() {
const response = await client.completion({
prompt: '写一篇关于人工智能的短文',
user: 'user_123',
variables: {
topic: '生成式AI',
tone: '专业'
}
});
console.log('生成结果:', response.result);
}
Python集成
# 安装SDK
# pip install dify-client
from dify_client import DifyClient
# 初始化客户端
client = DifyClient(
api_key="your_api_key",
endpoint="https://api.dify.ai/v1" # 或您自己部署的API地址
)
# 对话型应用示例
def chat_with_dify():
# 创建新对话
conversation = client.create_conversation()
# 发送消息
response = conversation.chat(
query="什么是检索增强生成技术?",
stream=True
)
# 处理流式响应
for chunk in response:
print(chunk.answer, end="")
# 继续对话
follow_up = conversation.chat(
query="它与传统LLM有什么区别?"
)
print("\n回答:", follow_up.answer)
# 文本生成型应用示 例
def generate_with_dify():
response = client.completion(
prompt="总结以下内容的要点",
variables={
"content": "长文本内容...",
"format": "要点列表"
}
)
print("生成结果:", response.result)
高级功能简介
工具调用
Dify支持集成外部工具,扩展AI能力:
- 在应用设置中,找到"工具"部分
- 添加预定义工具(如天气查询、搜索引擎等)
- 或创建自定义工具:
{
"name": "search_database",
"description": "搜索产品数据库",
"parameters": {
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "搜索关键词"
},
"category": {
"type": "string",
"enum": ["电子产品", "服装", "食品"],
"description": "产品类别"
}
},
"required": ["keyword"]
}
}
对话记忆管理
优化AI的对话记忆:
- 在应用设置中找到"上下文记忆"
- 配置记忆长度(消息数或token数)
- 设置记忆策略:
- 全量记忆
- 摘要记忆
- 选择性记忆
下一步
现在您已经了解了Dify的基本使用方法,可以继续探索:
- 学习Dify高级开发指南了解更多高级特性
- 查看完整API参考获取详细的API文档
- 探索应用模板库获取灵感
- 加入Dify社区与其他开发者交流
祝您使用Dify创建出色的AI应用!