一元网络论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 60|回复: 0

DDG-Chat,反向 ChatGPT API。

[复制链接]

3万

主题

3万

帖子

9万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
94918
发表于 2024-11-6 01:30:36 | 显示全部楼层 |阅读模式
## DDG-Chat:一键部署你的 ChatGPT API 后端
**项目地址:** [DDG-Chat](https://github.com/leafmoes/DDG-Chat)
**简介:**
一键免费部署你的 ChatGPT API 后端到各种平台,包括 Vercel, Cloudflare Workers, Docker, Render 等。支持 GPT4o mini, Claude 3 Haiku, Llama 3.1 70B, Mixtral 8x7B 模型。所有模型均由 DuckDuckGo 匿名提供。
**一键部署:**
* [Vercel](https://vercel.com/new/clone?repository-url=https://github.com/leafmoes/ddg-chat&project-name=ddg-chat&repository-name=ddg-chat)
* [手动部署](https://github.com/leafmoes/DDG-Chat#%E6%89%8B%E5%8A%A8%E9%83%A8%E7%BD%B2)
**演示 API:** (请勿滥用)
* [https://chatcfapi.r12.top](https://chatcfapi.r12.top)
**建议使用方式:**
使用第三方 ChatGPT 应用来调用接口,例如:
* [ChatNextWeb](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web)
* [沉浸式翻译](https://immersivetranslate.com)
**调用接口:**
* **对话请求:**
```bash
curl --request POST 'https://chatcfapi.r12.top/v1/chat/completions' \
  --header 'Content-Type: application/json' \
  --data '{
    "messages": [
      {
        "role": "user",
        "content": "你好!"
      }
    ],
    "model": "gpt-4o-mini",
    "stream": true
  }'
```
* **模型查询:**
访问 `http://chatcfapi.r12.top/v1/models` 可查看当前支持的模型。
**支持的模型:**
* gpt-4o-mini
* claude-3-haiku
* llama-3.1-70b
* mixtral-8x7b
**手动部署:**
由于 DDG API 限制单 IP 并发数,推荐使用 Vercel 进行部署。
* **Vercel:**
  * [Fork](https://github.com/leafmoes/ddg-chat/fork) 仓库到你的 Github。
  * 进入 [Vercel New Project](https://vercel.com/new/) 网页,`Import` 你刚才 fork 的仓库。
  * 点击 `Deploy` 即可。
* **Render:**
  * [Fork](https://github.com/leafmoes/ddg-chat/fork) 仓库到你的 Github。
  * 点击 [Render](https://render.com/deploy) 按钮,`Import` 你刚才 fork 的仓库,然后按正常部署流程走。
* **Cloudflare Workers:**
  * 进入 Cloudflare Workers 和 Pages 控制台,创建一个 Workers。
  * 进入 Workers 设置,在 `运行时` 设置 `兼容性标志` 为 `nodejs_compat`。
  * 粘贴 [此文件](https://github.com/leafmoes/DDG-Chat/blob/master/dist/index.js) 内部代码到你的 Workers,然后点击部署。
* **Docker:**
  * 命令行构建:
  ```bash
  docker run -it -d --name ddg-chat -p 8787:8787 leafmoes/ddg-chat:latest
  ```
  * 使用 `docker-compose.yml` 文件构建:
  下载保存 [docker-compose.yml](https://github.com/leafmoes/DDG-Chat/blob/master/docker-compose.yml) 文件,然后在该文件所在目录运行 `docker-compose up -d` 来启动服务。
**环境变量:**
* `API_PREFIX`: API 调用的前缀地址 (默认: `/`)
* `API_KEY`: 作为调用 API 验证的 API Key (默认: `dummy_key`)
* `MAX_RETRY_COUNT`: 向 DDG 发送请求失败的重试次数 (默认: 3)
* `RETRY_DELAY`: 向 DDG 发送请求失败的重试延迟,单位 ms (默认: 5000)
**免责声明:**
项目仅供参考学习,如有侵权,请联系删除。
**闲言碎语:**
这个项目是之前发到 Github 的,我看到有坛友 [@cself](/u/cself) 好像还写了个 [Golang 的版本](https://linux.do/t/topic/235325/6) 发到了这里。不过我当时也是因为 Golang 的 [Duck2api](https://github.com/aurora-develop/Duck2api/) 在 Vercel 跑不起来,才使用 Js 重新写了一遍项目,让他能支持更多的 Serverless 平台。
我看到有坛友 [@mikeee](/u/mikeee) 在这里 [吐槽](https://linux.do/t/topic/235325/10) 我镜像大,能有 1G。这个确实,那个 Docker 连我自己都没测试过,本人还是一个新手,没怎么用过 Docker 打包,发布。我默认发到 GitHub Container Registry 这个平台的,他貌似不展示 Docker 的大小,也一直没有用户跟我反映过这个镜像太大了,导致这个明显有着很大缺陷的镜像在项目发布三周以来一直存在。目前已经经过优化了,使用 node:lts-alpine 为底包进行打包,现在大概是 52 MB左右的大小,并且发布到 [Docker Hub](https://hub.docker.com/r/leafmoes/ddg-chat)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一元网络论坛

GMT+8, 2024-11-24 04:12 , Processed in 0.124942 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表