DDG-Chat
[!WARNING]
由于 DuckDuckGo 的单IP并发限制,导致429错误,以及无服务器环境 Vercel, Cloudflare Workers 基本被 DuckDuckGo 封禁等原因
本项目已归档,请尝试其他项目,非常感谢你对本项目的支持,但我们不得不再见!
一键免费部署到各种平台你的 ChatGPT API 后端
支持 Vercel, Cloudflare Workers, Docker, Render 等
支持 o3 mini, GPT 4o mini, Claude 3 Haiku, Llama 3.3 70B, Mixtral Small 3 模型
所有模型均由 DuckDuckGo 匿名提供
一键部署
手动部署
Vercel / Cloudflare Workers / Docker / Render / Hugging Face / More Serverless
演示API
请勿滥用
- https://chatcfapi.r12.top
建议使用方式
使用第三方 ChatGPT 应用来调用接口,例如:
- ChatNextWeb
- 沉浸式翻译
调用接口
对话请求
示例(其中 chatcfapi.r12.top
请替换为你自己部署后的域名):
1 | curl --request POST 'https://chatcfapi.r12.top/v1/chat/completions' \ |
模型查询
示例(其中 chatcfapi.r12.top
请替换为你自己部署后的域名):
访问 http://chatcfapi.r12.top/v1/models
可查看当前支持的模型
支持的模型
该模型名称同步使用 DDG 网页抓包所得 (未知模型均会被重定向到 gpt-4o-mini 模型)
- gpt-4o-mini
- claude-3-haiku
- llama-3.3-70b
- mixtral-small-3
- o3-mini
手动部署
为了避免触发 DDG API 的并发限制,在使用 Docker 等本地部署方案时,请确保项目运行在代理池中。
同时,由于 Vercel 和 Cloudflare 的 IP 已被 DDG 屏蔽(可能由于过多用户使用或触发临时风控),不再建议通过这些方式部署。
Vercel(不推荐)
方法一:云端 Fork 仓库部署
- fork 这个仓库到你的 Github
- 进入 Vercel New Project 网页,
Import
你刚才 fork 的仓库 - 点击
Deploy
即可
方法二:本地 Clone 仓库部署
- 首先确保你有 Nodejs 环境
- 执行下面命令:
1 | npm i -g vercel |
方法三:一键部署
Render
- fork 这个仓库到你的 Github
- 点击下面按钮到 Render 官网,
Import
你刚才 fork 的仓库,然后按正常部署流程走
Cloudflare Workers(不推荐)
方法一:
- 进入 Cloudflare Workers 和 Pages 控制台,创建一个 Workers
- 进入 Workers 设置,在
运行时
设置兼容性标志
为nodejs_compat
- 粘贴 此文件 内部代码到你的 Workers,然后点击部署
方法二:
- 首先确保你有 Nodejs 环境
- 首先执行下面命令:
1 | npm i -g wrangler |
- 打开文件 /api/index.js ,取消最后一行的注释,然后执行
npm run publish:cf
Hugging Face (推荐)
-
创建一个新空间:Create a new Space
1
2
3
4Space name:ddg-chat
License: MIT
Select the Space SDK: docker (Blank)
Space hardware: free -
设置环境变量
转到 Settings -> Variables and secrets -> Variables 配置环境变量
貌似必须设置API_PREFIX
,由于抱抱脸的限制?
环境变量在帖子里面 -
编辑 README.md 文件
在 metadata 添加app_port: 8787
这个 8787 取决于你 docker 镜像的端口 -
添加 Dockerfile 文件:
1
FROM docker.io/leafmoes/ddg-chat:latest
Docker
方法一:命令行构建
1 | docker run -it -d --name ddg-chat -p 8787:8787 leafmoes/ddg-chat:latest |
方法二:使用 docker-compose.yml
文件构建
下载保存 docker-compose.yml 文件,然后在该文件所在目录运行 docker-compose up -d
来启动服务。
Docker 相关命令
1 | docker logs -f ddg-chat # 查看服务实时日志 |
环境变量
1 | # API 服务使用的端口 |
常见问题
- Vercel 部署有何限制?
- 免费版单次 API 请求时长为 60s
- 免费版每月 API 调用次数为 100,000 次
- 官方文档 - Vercel 函数限制
- 是否计划增加前端应用?
- 不考虑,请使用其他的优秀项目,例如:ChatNextWeb
- 为什么报错
429 ERR_SERVICE_UNAVAILABLE
,如何解决?- 非 Vercel 容易出现此问题,由于 DDG API 限制单 IP 并发,建议减少并发量,同时使用代理池进行请求。
Contributors
LICENSE
MIT License