dify工作流转换openai

一、概述

dify工作流有自己的api接口,但是返回格式不是标准的openai格式,因此无法对接一些标准的AI客户端。

目前解决方案有2个:

1. 新版本的dify,有提供插件OpenAI Compatible Dify,可以进行转换。但是有2个缺点:

  • 只支持chat类型的应用,Workflow(工作流)是不支持的。
  • 插件提供的接口,可以直接调用,不需要api key也可以调用,不安全。

2. 通过Dify2OpenAI,就可以将dify工作流转换为标准的openai格式。可以同时支持Chat、Completion、Agent 和 Workflow bots API


二、Dify2OpenAI

简介

Dify2OpenAI 是一个将 Dify 应用程序转换为 OpenAI API 接口的网关服务,使您可以使用 OpenAI API 兼容的方式访问 Dify 的 LLM、知识库、工具和工作流程。

特征

  • 将 Dify API 转换为 OpenAI API
  • 支持流式传输和阻止
  • 在 dify 上支持 Chat、Completion、Agent 和 Workflow bots API

支持

  • 图像支持
  • 变量支持
  • 持续对话
  • Workflow Bot
  • Streaming & Blocking
  • Agent & Chat bots

官方github地址:https://github.com/onenov/Dify2OpenAI


三、Dify2OpenAI安装

github上有安装教程,安装最新版本的Node,最后npm run start就可以启动了。

但是这种启动方式,随时会中断。系统重启后,也不会自动起来。

我想使用docker方式启动,但是官方没有提供镜像。

怎么办?简单,自己做。没有条件,创造条件也要上

新建文件 Dockerfile

cd /data
# 下载项目
git clone https://github.com/onenov/Dify2OpenAI.git
cd Dify2OpenAI
vi Dockerfile

内容如下:

FROM node:23.11.0-alpine3.21
ADD . /app
RUN cd /app && npm install

WORKDIR /app
EXPOSE 3099

ENTRYPOINT ["npm","run","start"]

注意:这里的基础镜像,直接从dockerhub上面找了一个最新版本的node

构建镜像

docker build -t dify2opai:v1 .

新建文件docker-compose.yaml

内容如下:

services:
  dify2openai:
    image: dify2openai:v1
    container_name: dify2openai
    ports:
      - "3099:3099"
    restart: always

启动

docker-compose up -d

访问页面:http://ip地址:3099

效果如下:

dify工作流转换openai

四、dify对接Dify2OpenAI

登录到dify,找到一个chatflow类型的应用,点击访问API–>API密钥

dify工作流转换openai

创建一个api密钥,比如:app-MMajtWxluWwHhJcOuiSI80y9

dify工作流转换openai

打开AI客户端CherryStudio,添加模型

dify工作流转换openai

添加dify

dify工作流转换openai

API密钥,app-MMajtWxluWwHhJcOuiSI80y9,这个就是dify的api密钥

API地址,http://10.44.32.14:3099/v1/,注意:这里的地址是Dify2OpenAI的地址,末尾必须携带/

dify工作流转换openai

点击添加模型

模型ID,dify|Chat|http://10.44.32.14/v1,

注意:格式就是参考Dify2OpenAI的第二种请求方式。

model 参数格式:
"model": "dify|BOT_TYPE|DIFY_API_URL|INPUT_VARIABLE|OUTPUT_VARIABLE"

模型名称,可以随便写。为了方便区分,和dify应用名一样

分组名称,可以随便写。为了方便区分,写dify

dify工作流转换openai

添加完成后,点击检查

dify工作流转换openai

选择模型

dify工作流转换openai

确保连接成功

dify工作流转换openai

返回聊天页面,选择模型test-chatflow,询问问题,得到结果。

dify工作流转换openai

能返回正确的结果,说明对接dify成功。

注意:如果有几十个dify应用要进行转换openai,只需要部署一个Dify2OpenAI即可。如果并发量比较大,可以运行多个副本。

转载作品,原作者:肖祥,文章来源:https://www.cnblogs.com/xiao987334176/p/18805992

(0)
打赏 微信赞赏 微信赞赏 支付宝赞赏 支付宝赞赏
上一篇 2025-04-27 09:27
下一篇 2025-04-27 18:01

相关推荐

发表回复

登录后才能评论
扫码了解
扫码了解
反馈建议
分享本页
返回顶部