首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

有了 NewAPI 之后,Dify 的可玩儿性又高了

  • 24-12-16 12:23
  • 3556
  • 8925
juejin.cn

有捣鼓过 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 地址

部署

推荐使用 Docker 部署:

bash
复制代码
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:

  • 首先下载项目代码到本地
bash
复制代码
git clone https://github.com/Calcium-Ion/new-api.git
  • 然后进入项目根目录,可以根据自己的需求修改 docker-compose.yml 文件,最后启动 docker compose:
bash
复制代码
cd new-api docker-compose up -d

有 Kubernetes 的同学也可以通过以下 YAML 来部署:

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 中「添加渠道」:

  1. 我们在选中 Dify 类型之后,要输入 Dify 服务的地址。如果你的 new-api 服务和 dify 都是通过 docker 部署在一个机器上的,那么这里记得输入 http://host.docker.internal:你的端口号,截图是我这边的示例,可不要原模原样照抄哦~。如果不是 docker 部署的方式,这里就输入 dify 服务的 http:// ip + 端口号 即可;

  2. 因为接入的是 dify,所以在模型选择上我们只需要输入自定义模型名称即可,比如输入 dify,然后一定要点一下后面那个「填入」按钮;

  3. 不管是自定义模型还是选择的其他模型,一定都会截图中 3 的位置展示出来,没展示说明没有配置上;

  4. 完成提交,我们就可以在渠道列表中看到一条数据啦~

如图,我们可以点击「测试」按钮看看是否已经正常使用了:

测试时间长短不一定,大家点击测试之后耐心等待一会儿

接下来,我们到令牌页面添加一个令牌。比如起名就叫 dify,自己使用的话可以将过期时间定为「永不过期」,金额设置为「设为无限额度」:

完成之后点击截图中的「复制」按钮,将令牌的 key 复制下来就可以使用了。

使用

现在万事俱备,只欠东风!为了方便测试,我又运行起了之前介绍过的 Open WebUI(不知道的朋友可以参考官网):

在刚部署好时,这里是没有可用模型选择的。所以我们需要进入到设置页面配置一下 new-api 的代理:

  1. 点击右上角的头像,选择设置;

  2. 点击管理员设置;

  3. 选择「外部连接-OpenAI API-输入你 new-api 服务的地址」,如果 new-api 和 Open WebUI 都是通过 docker 部署在同一台机器上,这里只需要输入 http://host.docker.internal:你 new-api 的端口号/v1 即可,然后记得填入那会儿复制好的令牌密钥。最后在「添加一个模型 ID」那里输入 dify 后点保存就好了!

  4. 如果不是通过 docker 部署的,这里就需要通过输入 IP + 端口的形式。

回到对话页面,我们测试一下:

可以用!

将 dify 的 API 转为 OpenAI API 之后,我们可以利用 dify 做的事情又增多了~举个非常简单的例子,一些开源的 AI 应用项目其实只支持 OpenAI API,这导致我们的 dify 应用无法接入,现在的话,就没有这个问题了!😏

写作不易,感觉对您有用的 jy,麻烦点赞、收藏加关注~

有需要之前分享过的 DSL 的 jy,关注后后台发送「DSL」获取

注:本文转载自juejin.cn的三金得鑫的文章"https://juejin.cn/post/7448153635991437323"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

109
人工智能
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top