Skip to content

集成了openai-api、bing、gemini、coze、claude、绘画 多款AI的聊天接口适配到 OpenAI API 标准接口服务端。

License

Notifications You must be signed in to change notification settings

bincooo/chatgpt-adapter

Repository files navigation

Screenshot 2024-04-18 at 04 03 41


Adapter for ChatGPT

一款将免费服务整合到一起的ChatGPT接口服务!
*添加实验性toolCall能力,尝试让没有toolCall能力的AI也能执行任务*
MacOS | Window | Linux

使用

./linux-server -h

>>>>>
GPT接口适配器。统一适配接口规范,集成了bing、claude-2,gemini...
项目地址:https://github.com/bincooo/chatgpt-adapter

Usage:
  ChatGPT-Adapter [flags]

Flags:
  -h, --help             help for ChatGPT-Adapter
      --port int         服务端口 port (default 8080)
      --proxies string   本地代理 proxies
  -v, --version          version for ChatGPT-Adapter

启动服务,如果网络不在服务区域,请尝试设置/替换 proxies

./linux-server --port 8080 --proxies socks5://127.0.0.1:7890

请求列表

model 列表

[
    {
        "id":       "claude",
        "object":   "model",
        "created":  1686935002,
        "owned_by": "claude-adapter"
    },
    {
        "id":       "bing",
        "object":   "model",
        "created":  1686935002,
        "owned_by": "bing-adapter"
    },
    {
        "id":       "coze",
        "object":   "model",
        "created":  1686935002,
        "owned_by": "coze-adapter"
    },
    {
        "id":       "gemini-1.0",
        "object":   "model",
        "created":  1686935002,
        "owned_by": "gemini-adapter"
    },
    {
        "id":       "command-r-plus",
        "object":   "model",
        "created":  1686935002,
        "owned_by": "cohere-adapter"
    }
    (更多模型请访问API获取) ...
]

completions 对话

/v1/chat/completions
/v1/object/completions
/proxies/v1/chat/completions
curl -i -X POST \
   -H "Content-Type:application/json" \
   -H "Authorization: xxx" \
   -d \
'{
  "stream": true,
  "model": "coze",
  "messages": [
    {
      "role":    "user",
      "content": "hi"
    }
  ]
}' \
 'http://127.0.0.1:8080/v1/chat/completions'

LabeChat使用配置

效果预览 1
  • LobeChat
    Screenshot 2024-05-19 at 01 53 05
效果预览 2
  • FastGPT
    Screenshot 2024-05-19 at 01 54 26
效果预览 3
  • google模型原生toolCall运行良好,其它皆为提示词实现toolCall。

  • 若想达到多个工具执行效果,请开启 < tool tasks />。

Screenshot 2024-05-23 at 03 13 09
Screenshot 2024-05-23 at 03 21 34
Screenshot 2024-05-23 at 03 30 29
Screenshot 2024-06-08 at 19 57 49

Authorization 获取

claude: 对IP十分严格

claude.ai 官网中登陆,浏览器 cookies 中取出 sessionKey 的值。在 config.yaml 中的 claude:配置cookies

bing:

www.bing.com 官网中登陆,浏览器 cookies 中取出 _U 的值就是 Authorization 参数

gemini:

ai.google.dev 中申请,获取 token凭证就是 Authorization 参数

coze: ❗DEPRECATED❗ 已开始收费,无法使用了

www.coze.com 官网中登陆,浏览器 cookies 中复制完整的 cookie 就是 Authorization 参数

》》支持指定bot模型 《《

格式 -> coze/botId-version-scene; 例子 -> coze/7353052833752694791-1712016747307-2

》》支持开发者模式《《

该模式下可修改全局变量TopP、Temperature、MaxTokens。 但是会出现排队情况,建议多账号轮询使用

cookie需为botId自己所属的账号, 结尾 o 固定

格式 -> coze/botId-spaceId-scene-o; 例子 -> coze/7353052833752694791-xxx-4-o

》》支持webSdk模式《《

该模式下不需要cookies, version 随意填写;; 尚未得知封控等级和限流机制,请勿滥用

格式 -> coze/botId-xxx-scene-w; 例子 -> coze/7353052833752694791-xxx-1000-w


tips: 由于内置配置经常变动,难以维护 改为配置化

请用户在 config.yaml 中修改 #31

lmsys:

无需cookie, model参数为 lmsys/ 前缀,例:lmsys/claude-3-haiku-20240307 该接口有第三方监管,但用来进行正向对话还是不错的。对ip严苛

fn_index、trigger_id 获取:进入主页,选择Direct Chat 发送一次对话,F12抓取join里的对应参数

两种配置化,1. 请求头携带 Authorization: [49, 109], 2. config.yaml中配置 lmsys: [49, 109]

新增字典写法:{ "claude-3-5-sonnet-20240620": [ 70, 124 ] }

custom:

实现chatgpt规范的上游AI接口,可用此定义来实现toolCall的功能 在原模型的名称前添加: custom/ 前缀,例:custom/freeGpt35

而后在 roleusersystem 中的一个里添加 <tool enabled /> 即可开启toolCall

需在 config.yaml 里配置 custom-llm 属性

interpreter:

无需cookie, model参数为 open-interpreter

在配置中设置 interpreter 属性值,需配合 open-interpreter 使用,具体搭建过程移步 issue

you:

无需cookie, model参数为 you/xxx, 具体有哪些请在启动服务后访问 v1/models 查看。

该接口需要配合 chrome/edge 使用,所以请务必保证你的电脑、服务器中安装了浏览器。

配置步骤请移步:discussions

free画图接口

提供了 coze.dall-e-3sd.dall-e-3xl.dall-e-3pg.dall-e-3google.dall-e-3,它们会根据你提供的 Authorization 选择其中的一个

// 下面固定写法

// sd.dall-e-3
Authorization: sk-prodia-sd

// xl.dall-e-3
Authorization: sk-prodia-xl

// dalle-4k.dall-e-3
Authorization: sk-dalle-4k

// dalle-3-xl.dall-e-3
Authorization: sk-dalle-3-xl

// google.dall-e-3
Authorization: sk-google-xl

TIPS:如果Authorization没有匹配,则会随机在上面几个里选一个

api:

/v1/chat/generations
/v1/object/generations
/proxies/v1/chat/generations
curl -i -X POST \
   -H "Content-Type:application/json" \
   -H "Authorization: xxx" \
   -d \
'{
  "prompt":"一个二次元少女",
  "style":"",
  "model":"dall-e-3",
  "n":1
}' \
 'http://127.0.0.1:8080/v1/chat/generations'

特殊标记增强

flags

🌟 Star History

Star History Chart