poe-api
它反向工程了 poe.com
,让它可以通过一个 HTTP API 来访问,这个 API 模仿了官方的 OpenAI API for ChatGPT,所以它可以和其他使用 OpenAI API for ChatGPT 的程序兼容。git clone https://github.com/caoyunzhou/poe-openai-proxy.git
cd poe-openai-proxy/
cp .env.example .env
vim .env
source .env
go build
chmod +x poe-openai-proxy
./poe-openai-proxy
- 在浏览器上登录`Poe.com`,然后打开浏览器的开发工具,在以下菜单中查找p-b cookie的值:
- Chromium:开发工具>应用程序>Cookie>poe.com
- Firefox:开发工具>存储>Cookie
- Safari:开发工具>存储>Cookie
- 类似于这样的值[ p-b : 12zNTxAdieuXXszMWYt93g%3D%3D]
docker run快速开始:
docker run -d \
--name poe-openai-proxy \
-p 8080:8080 \
-e PORT=8080 \
-e AuthKey=sk-123456 \
-e TOKENS=12zNTxAdieuXXszMWYt93g%3D%3D \
-e SIMULATE_ROLES=0 \
-e RATE_LIMIT=10 \
-e COOL_DOWN=10 \
-e TIMEOUT=60 \
caoyunzhou/poe-openai-proxy
配置多个POE-Token示例:
docker run -d \
--name poe-openai-proxy \
-p 8080:8080 \
-e PORT=8080 \
-e AuthKey=sk-123456 \
-e TOKENS="12zNTxAdieuXXszMWYt93g%3D%3D,13zNTxAdieuXXszMWYt93g%3D%3D,14zNTxAdieuXXszMWYt93g%3D%3D" \
-e SIMULATE_ROLES=0 \
-e RATE_LIMIT=10 \
-e COOL_DOWN=10 \
-e TIMEOUT=60 \
caoyunzhou/poe-openai-proxy
docker-compose部署:
docker-compose -f docker-compose.yaml up -d
nginx反向代理自己配置
环境变量名称 | 必填 | 备注 |
---|---|---|
PORT |
必填 | 默认 8080 |
AuthKey |
必填 | 默认:sk-123456 , 适配openai的请求,用户自定义的秘钥,放在Authorization header里面做认证 |
TOKENS |
必填[list] | poe-Token密钥[token1,token2,token3] |
SIMULATE_ROLES |
0 |
角色 |
RATE_LIMIT |
10 |
速率[默认为1分钟内每个令牌调用10个api] |
COOL_DOWN |
10 |
冷却令牌[#冷却几秒钟。同一个令牌在n秒内不能多次使用] |
TIMEOUT |
60 |
超时 |
PROXY |
选填 |
poe的代理 http://127.0.0.1:8989 ,默认为空,不走代理 |
注意:
Railway
修改环境变量会重新Deploy
参见OpenAI文档了解更多关于如何使用ChatGPT API的细节。
只需要把你的代码里的https://api.openai.com
替换成http://localhost:8080
或者替换成你的域名https://api.example.com
就可以了。
curl --location 'http://127.0.0.1:8080/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-123456' \
--data '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "你好"}]
}'
curl --location 'https://poe.aivvm.com/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-123456' \
--data '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "你好"}]
}'
模型名称 | poe模型名称 |
---|---|
assistant | capybara |
gpt-3.5-turbo | chinchilla |
gpt-3.5-turbo-0301 | chinchilla |
gpt-3.5-turbo-0613 | chinchilla |
gpt-3.5-turbo-16k | agouti |
gpt-3.5-turbo-16k-0613 | agouti |
gpt-4 | beaver |
gpt-4-0314 | beaver |
gpt-4-0613 | beaver |
gpt-4-32k | vizcacha |
gpt-4-32k-0314 | vizcacha |
gpt-4-32k-0613 | vizcacha |
claude-instant | a2 |
claude-2-100k | a2_2 |
claude-instant-100k | a2_100k |
google-palm | acouchy |
llama_2_70b_chat | llama_2_70b_chat |
参数 | 说明 |
---|---|
model | 参见支持的模型对应列表 部分。模型名字对应着POE机器人昵称。 |
messages | 你可以像在官方API里一样使用这个参数,除了name 。 |
stream | 你可以像在官方API里一样使用这个参数。 |
其他参数会被忽略。
感谢所有做过贡献的人!