chatgpt-adapter

chatgpt-adapter

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

Stars: 521

Visit
 screenshot

ChatGPT-Adapter is an interface service that integrates various free services together. It provides a unified interface specification and integrates services like Bing, Claude-2, Gemini. Users can start the service by running the linux-server script and set proxies if needed. The tool offers model lists for different adapters, completion dialogues, authorization methods for different services like Claude, Bing, Gemini, Coze, and Lmsys. Additionally, it provides a free drawing interface with options like coze.dall-e-3, sd.dall-e-3, xl.dall-e-3, pg.dall-e-3 based on user-provided Authorization keys. The tool also supports special flags for enhanced functionality.

README:

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

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for chatgpt-adapter

Similar Open Source Tools

For similar tasks

For similar jobs