微信扫码
与创始人交个朋友
我要投稿
有捣鼓过 Dify 的同学应该都知道,虽然 Dify 是一个很棒的 AI 应用,但是它提供的 API 是和 Open AI 不兼容的,这就导致一些应用无法对接到 Dify 上。
有什么办法可以解决呢?
不知道大家还记不记得之前介绍过的一款开源项目 One API?不记得的话也没关系,来回忆一下:使用 Docker 部署14.7k stars 的各大 AI 模型 key 分发及接口管理系统
它可以聚合不同的 AI 大模型到一起,再统一转为 OpenAI 的 API 派发出去,不过到目前还不支持 Dify 的接入,所以路子虽然有了但是也无法解决上述问题。
此时有大佬出手,基于 One API 做了二开,项目名称为 New API,这个项目完全支持 Dify,至此我们终于可以玩转 Dify API 了!
Github 地址: https://github.com/Calcium-Ion/new-api
推荐使用 Docker 部署:
docker run --name new-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest
也支持 Docker Compose:
git clone https://github.com/Calcium-Ion/new-api.git
docker-compose.yml
文件,最后启动 docker compose:cd new-api
docker-compose up -d
有 Kubernetes 的同学也可以通过以下 YAML 来部署:
apiVersion: v1
kind: PersistentVolume
metadata:
name: new-api-pv
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/home/ubuntu/data/new-api"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: new-api-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: new-api
spec:
replicas: 1
selector:
matchLabels:
app: new-api
template:
metadata:
labels:
app: new-api
spec:
containers:
- name: new-api
image: dockerpull.org/calciumion/new-api
ports:
- containerPort: 3000
env:
- name: TZ
value: Asia/Shanghai
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: new-api-pvc
---
apiVersion: v1
kind: Service
metadata:
name: new-api
spec:
selector:
app: new-api
type: LoadBalancer
ports:
- port: 3000
targetPort: 3000
部署成功过之后我们通过 IP + 端口的形式进行访问:
初始用户名密码是root/123456
。
点击「控制台-渠道-添加渠道」,可以看到支持的渠道里是有 Dify 的,而除了 Dify 之外,还支持自定义渠道,FastGPT 知识库等等。
我们回到 Dify 中创建一个应用来试试看~
以之前分享过的山寨版 o1 为例,我们进入到 chatflow 中点击右上角的「访问 API」:
然后新建密钥,复制之后我们就可以将其集成到 new-api 中:
回到 new-api 中「添加渠道」:
http://host.docker.internal:你的端口号
,截图是我这边的示例,可不要原模原样照抄哦~。如果不是 docker 部署的方式,这里就输入 dify 服务的http:// ip + 端口号
即可;如图,我们可以点击「测试」按钮看看是否已经正常使用了:
测试时间长短不一定,大家点击测试之后耐心等待一会儿
接下来,我们到令牌页面添加一个令牌。比如起名就叫 dify,自己使用的话可以将过期时间定为「永不过期」,金额设置为「设为无限额度」:
完成之后点击截图中的「复制」按钮,将令牌的 key 复制下来就可以使用了。
现在万事俱备,只欠东风!为了方便测试,我又运行起了之前介绍过的 Open WebUI(不知道的朋友可以参考官网: https://docs.openwebui.com/#quick-start-with-docker--recommended):
在刚部署好时,这里是没有可用模型选择的。所以我们需要进入到设置页面配置一下 new-api 的代理:
http://host.docker.internal:你 new-api 的端口号/v1
即可,然后记得填入那会儿复制好的令牌密钥。最后在「添加一个模型 ID」那里输入 dify 后点保存就好了!回到对话页面,我们测试一下:
可以用!
将 dify 的 API 转为 OpenAI API 之后,我们可以利用 dify 做的事情又增多了~举个非常简单的例子,一些开源的 AI 应用项目其实只支持 OpenAI API,这导致我们的 dify 应用无法接入,现在的话,就没有这个问题
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-12-27
【场景驱动】企业的哪些重复性任务,最适合用Coze循环节点来解决?——慢慢学AI146
2024-12-24
Coze,Dify,FastGPT,哪个更强?全方位对比分析来了!
2024-12-19
打开日本市场背后,Dify 是怎么做 AI 全球化的?
2024-12-06
太强大了!Coze史诗级提升,零门槛做自己的AI产品!
2024-11-27
dify案例分享-中国历史专家博客
2024-11-23
使用 Dify 搭一个 gpt-o1(山寨版)
2024-11-22
Dify 保姆级教程之:零代码打造个性化记忆助手
2024-11-22
Dify 保姆级教程之:零代码打造图像生成专家(上)
2024-04-25
2024-04-24
2024-07-20
2024-07-16
2024-05-08
2024-05-07
2024-05-09
2024-06-21
2024-04-25
2024-08-06