D2O
在你喜欢的OpenAI客户端上使用Dify。
这个项目将Dify API转换为OpenAI API格式,让你可以在你偏好的OpenAI客户端中访问Dify的LLMs、知识库、工具和工作流。
功能
- 将Dify API转换为OpenAI API
- 支持流式和阻塞式传输
- 支持Dify上的聊天、补全、代理和工作流机器人API
部署
Zeabur
Vercel
注意: Vercel的无服务器函数有10秒的超时限制。
本地部署
- 在.env文件中设置环境变量
DIFY_API_URL=https://api.dify.ai/v1
- 安装依赖
pnpm install
- 运行项目
pnpm start
使用方法
- OpenAI客户端
- 代码
const response = await fetch('http://localhost:3000/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_DFIY_API_KEY',
},
body: JSON.stringify({
model: 'dify',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Hello, how are you?' },
],
}),
});
const data = await response.json();
console.log(data);
Docker部署
- 构建镜像
docker build -t dify2openai:latest .
- 运行容器
docker run -d -name dify2openai \
--network bridge \
-p 3000:3000 \
-e DIFY_API_URL=https://api.dify.ai/v1 \
-e BOT_TYPE=Chat \
--restart always
dify2openai:latest
- 你也可以使用Docker Compose来构建镜像并运行容器:
version: '3.5'
services:
dify2openai:
container_name: dify2openai
build:
context: .
dockerfile: Dockerfile
network_mode: bridge
ports:
- "3000:3000"
restart: always
environment:
- DIFY_API_URL=https://api.dify.ai/v1
- BOT_TYPE=Chat
请根据你的需求更改环境变量。更多信息请参见环境变量。
环境变量
本项目提供了一些通过环境变量设置的额外配置项:
环境变量 | 是否必需 | 描述 | 示例 |
---|---|---|---|
DIFY_API_URL | 是 | 如果你自行托管,则为你的Dify API地址 | https://api.dify.ai/v1 |
BOT_TYPE | 是 | 你的dify机器人类型 | Chat,Completion,Workflow |
INPUT_VARIABLE | 否 | 你自己的dify工作流机器人中的输入变量名 | query,text |
OUTPUT_VARIABLE | 否 | 你自己的dify工作流机器人中的输出变量名 | text |
MODELS_NAME | 否 | 该值是/v1/models端点输出的模型名称。默认值为dify 。 | dify |
路线图
即将推出
- 图像支持
- 语音转文字
- 文字转语音
- Docker支持
现已可用
- 工作流机器人
- 变量支持
- 连续对话
- Zeabur和Vercel部署
- 流式和阻塞式传输
- 代理和聊天机器人
联系方式
如有任何问题或反馈,请随时联系
许可证
本项目采用MIT许可证。