
如何快速實現(xiàn)REST API集成以優(yōu)化業(yè)務(wù)流程
工作原理如下:
渠道
頁面中添加你的?API Key
令牌
頁面中新增訪問令牌One API
model
參數(shù),匹配對應(yīng)的渠道(根據(jù)渠道里的模型進(jìn)行匹配,必須完全一致)。如果匹配到多個渠道,則隨機(jī)選擇一個(同優(yōu)先級)One API
向真正的地址發(fā)出請求,并將結(jié)果返回給客戶端graph LR
A(用戶)
A --->|使用 One API 分發(fā)的 key 進(jìn)行請求| B(One API)
B -->|中繼請求| C(OpenAI)
B -->|中繼請求| D(Azure)
B -->|中繼請求| E(其他 OpenAI API 格式下游渠道)
B -->|中繼并修改請求體和返回體| F(非 OpenAI API 格式下游渠道)
在群暉上以 Docker 方式安裝。
在注冊表中搜索 one-api
,選擇第一個 justsong/one-api
,版本選擇 latest
。
本文第一次折騰時,
latest
版本對應(yīng)為v0.5.7-alpha.1
;本文寫作時,latest
版本對應(yīng)為v0.6.5
在?docker
?文件夾中,創(chuàng)建一個新文件夾?one-api
,并在其中建一個子文件夾?data
文件夾 | 裝載路徑 | 說明 |
---|---|---|
docker/one-api/data | /data | 存放數(shù)據(jù)庫和日志等 |
本地端口不沖突就行,不確定的話可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口號
本地端口 | 容器端口 |
---|---|
3033 | 3000 |
可變 | 值 |
---|---|
TZ | 設(shè)為 Asia/Shanghai |
如果你熟悉命令行,可能用?docker cli
?更快捷
# 新建文件夾 one-api 和 子目錄
mkdir -p /volume1/docker/one-api/data
# 進(jìn)入 one-api 目錄
cd /volume1/docker/one-api
# 運(yùn)行容器
docker run -d \
--restart always \
--name one-api \
-p 3033:3000 \
-v $(pwd)/data:/data \
-e TZ=Asia/Shanghai \
justsong/one-api
也可以用?docker-compose
?安裝,將下面的內(nèi)容保存為?docker-compose.yml
?文件
version: '3'
services:
one-api:
image: justsong/one-api
container_name: one-api
restart: unless-stopped
ports:
- 3033:3000
volumes:
- ./data:/data
environment:
- TZ=Asia/Shanghai
然后執(zhí)行下面的命令
# 新建文件夾 one-api 和 子目錄
mkdir -p /volume1/docker/one-api/data
# 進(jìn)入 one-api 目錄
cd /volume1/docker/one-api
# 將 docker-compose.yml 放入當(dāng)前目錄
# 一鍵啟動
docker-compose up -d
在瀏覽器中輸入?http://群暉IP:3033
?就能看到主界面
點 登陸
按鈕
初始管理員賬號用戶名為
root
,密碼為123456
當(dāng)然也可以注冊新用戶
登陸成功之后的主界面
【注意】:記得立刻修改默認(rèn)密碼!
點?添加新的渠道
Moonshot AI
以 Moonshot AI
為例
Moonshot AI
default
、vip
和 svip
Moonshot AI
的秘鑰,可以在這里申請:https://platform.moonshot.cn/console/api-keys這是?Moonshot
?的開發(fā)者賬號,新用戶注冊會有?15
?元額度。這和之前我們用的?kimi-free-api
?中介紹的?refresh_token
?不是一個概念。
保存之后,可以?測試
如果沒問題的話,會提示測試成功
當(dāng)然,我們也可以添加之前使用過的?kimi-free-api
kimi
是Moonshot
基于Moonshot AI
開發(fā)的產(chǎn)品
自定義渠道
Base URL
:填入 kimi-free-api
的訪問地址 http://群暉IP:8126
kimi-free-api
default
就行填入
即可refresh_token
保存之后,可以測試一下是否設(shè)置正確
要二次分發(fā)使用,還需要有令牌
用于控制可使用的模型、額度、時限等
【注意】:這里沒有設(shè)置模型范圍,意味著后續(xù)添加的新渠道的模型,都是可以通過這個令牌進(jìn)行訪問的
保存之后
會得到一個字符串,其中
key
?:對應(yīng)的是?ChatGPT Next Web
?的環(huán)境變量?OPENAI_API_KEY
url
:對應(yīng)的是 ChatGPT Next Web
的環(huán)境變量 BASE_URL
,但不能用 http://localhost:3000
,而要使用外部地址 http://http://群暉IP:3033
文章傳送門:跨平臺私人ChatGPT應(yīng)用ChatGPT-Next-Web
如果你還沒安裝?ChatGPT-Next-Web
?,可以用下面的命令一鍵搞定
# 運(yùn)行容器
docker run -d \
--restart unless-stopped \
--name chatgpt-next-web \
-p 3059:3000 \
-e OPENAI_API_KEY=<你的 key> \
-e BASE_URL=http://<你的群暉IP>:3033 \
-e CUSTOM_MODELS="-all,+moonshot-v1-8k,+moonshot-v1-32k,+moonshot-v1-128k" \
yidadaa/chatgpt-next-web
如果你已經(jīng)安裝過ChatGPT-Next-Web
,需要修改三個環(huán)境變量參數(shù)
OPENAI_API_KEY
:之前不論你是安裝的 FreeGPT35
還是 aurora
,這個值都是隨便填的,現(xiàn)在必須改為我們前面獲取的 key
BASE_URL
:填寫 One API
服務(wù)的地址 + 端口服務(wù)名稱 | 服務(wù)地址 |
---|---|
FreeGPT35 | http://192.168.0.197:3044 |
aurora | http://192.168.0.197:8328 |
GPT4Free | http://192.168.0.197:1337 |
kimi-free-api | http://192.168.0.197:8126 |
One API | http://192.168.0.197:3033 |
CUSTOM_MODELS
?:用來控制模型列表,使用?+
?增加一個模型,使用?-
?來隱藏一個模型,使用?模型名=展示名
?來自定義模型的展示名,用英文逗號隔開。需改為?-all,+moonshot-v1-8k,+moonshot-v1-32k,+moonshot-v1-128k
重新啟動 ?ChatGPT-Next-Web
??容器后,進(jìn)入的設(shè)置,可以看到模型已經(jīng)改變了
接下來就可以開始聊天了
當(dāng)然,One API
?作為分發(fā)系統(tǒng),還支持充值、兌換、日志等功能
本文章轉(zhuǎn)載微信公眾號@各種折騰