Poe2OpenAI 是一個將 POE API 轉換為 OpenAI API 格式的代理服務。讓 Poe 訂閱者能夠通過 OpenAI API 格式使用 Poe 的各種 AI 模型。
/models 和 /chat/completions)/admin)用於配置模型(模型映射和編輯/models顯示的模型)# 拉取映像
docker pull jeromeleong/poe2openai:latest
# 運行容器
docker run --name poe2openai -d \
-p 8080:8080 \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=123456 \
jeromeleong/poe2openai:latest
# 創建本地數據目錄
mkdir -p /path/to/data
# 運行容器並掛載數據目錄
docker run --name poe2openai -d \
-p 8080:8080 \
-v /path/to/data:/data \
-e CONFIG_DIR=/data \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=123456 \
jeromeleong/poe2openai:latest
具體內容可根據自己個人需求來進行修改
version: '3.8'
services:
poe2openai:
image: jeromeleong/poe2openai:latest
ports:
- "8080:8080"
environment:
- PORT=8080
- LOG_LEVEL=info
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=123456
- MAX_REQUEST_SIZE=1073741824
- CONFIG_DIR=/data
- RATE_LIMIT_MS=100
volumes:
- /path/to/data:/data
# 克隆專案
git clone https://github.com/jeromeleong/poe2openai
cd poe2openai
# 編譯
cargo build --release
# 運行
./target/release/poe2openai
docker run -d -p 8080:8080 jeromeleong/poe2openai:latest
服務器默認在 http://localhost:8080 啟動
使用方式示例:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-poe-token" \
-d '{
"model": "gpt-4o-mini",
"messages": [{"role": "user", "content": "你好"}],
"stream": true
}'
http://localhost:8080/admin 管理模型GET /v1/models - 獲取可用模型列表POST /v1/chat/completions - 與 POE 模型聊天GET /models - 獲取可用模型列表(相容端點)POST /chat/completions - 與 POE 模型聊天(相容端點){
"model": "string",
"messages": [
{
"role": "user",
"content": "string"
}
],
"temperature": 0.7,
"stream": false,
"tools": [],
"stream_options": {
"include_usage": false
}
}
| 參數 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| model | string | (必填) | 要請求的模型名稱 |
| messages | array | (必填) | 聊天訊息列表,陣列內須有 role 與 content |
| temperature | float | null | 探索性(0~2)。控制回答的多樣性,數值越大越發散 |
| stream | bool | false | 是否串流回傳(SSE),true 開啟串流 |
| tools | array | null | 工具描述 (Tool Calls) 支援(如 function calling) |
| logit_bias | object | null | 特定 token 的偏好值 |
| stop | array | null | 停止生成的文本序列 |
| stream_options | object | null | 串流細部選項,目前支援 {"include_usage": bool}: 是否附帶用量統計 |
其他參數如 top_p、n 等 OpenAI 參數暫不支援,提交會被忽略。
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1677858242,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "回應內容"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30,
"prompt_tokens_details": {
"cached_tokens": 0
}
}
}
{
"model": "claude-3-opus",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "這張圖片是什麼?"
},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/image.jpg"
}
}
]
}
]
}
服務器配置通過環境變量進行:
PORT - 服務器端口(默認:8080)HOST - 服務器主機(默認:0.0.0.0)ADMIN_USERNAME - 管理介面用戶名(默認:admin)ADMIN_PASSWORD - 管理介面密碼(默認:123456)MAX_REQUEST_SIZE - 最大請求大小(默認:1073741824,1GB)LOG_LEVEL - 日誌級別(默認:info,可選:debug, info, warn, error)CONFIG_DIR - 配置文件目錄路徑(docker 環境中默認為:/data,本機環境中默認為:./)RATE_LIMIT_MS - 全局速率限制(毫秒,默認:100,設置為 0 禁用)A: 首先要訂閱 Poe,才能從 Poe API Key 網頁中取得。
A: 確保在請求頭中正確設置了 Authorization: Bearer your-poe-token。
A: 支援所有 POE 平台上可用的模型,可通過 /v1/models 端點查詢。
A: 可以通過設置環境變量 PORT 來修改,例如:
docker run -d -e PORT=3000 -p 3000:3000 jeromeleong/poe2openai:latest
A: 在管理介面 /admin 頁面中可以進行模型配置,也可以手動編輯 CONFIG_DIR 目錄下的 models.yaml 文件。
A: 可以通過設置環境變量 RATE_LIMIT_MS 來控制請求間隔,單位為毫秒。設置為 0 則禁用限制。
歡迎所有形式的貢獻!如果您發現了問題或有改進建議,請提交 Issue 或 Pull Request。
本專案使用 MIT 授權協議。
Content type
Image
Digest
sha256:f2052ad5f…
Size
40.9 MB
Last updated
10 months ago
docker pull jeromeleong/poe2openai