dify工作流转换openai

一、概述

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

目前解决方案有2个:

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

     1.1 只支持chat类型的应用,Workflow(工作流)是不支持的。

      1.2 插件提供的接口,可以直接调用,不需要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对接Dify2OpenAI

登录到dify,找到一个chatflow类型的应用,参考链接:https://www.cnblogs.com/xiao987334176/p/18781110

点击访问API-->API密钥

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

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

 添加dify

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

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

点击添加模型

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

注意:格式就是参考Dify2OpenAI的第二种请求方式。
model 参数格式:
"model": "dify|BOT_TYPE|DIFY_API_URL|INPUT_VARIABLE|OUTPUT_VARIABLE"

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

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

添加完成后,点击检查

 选择模型

 确保连接成功

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值