
如何快速實現REST API集成以優化業務流程
使用One-Api的好處就是可以將任何使用OpenAI接口的地方替換為One-Api的接口,然后對One-Api進行大語言模型的渠道配置,比如配置文心一言
、Claude
等,然后你就可以像請求OpenAI一樣請求文心一眼
、Claude
。
?One-Api是一個Go項目,開箱即用,因此部署非常簡單。這里我們以正常的業務部署為例,實現下述要求:
?一臺Linux服務器,建議選擇國外地區,但中國大陸或港澳地區亦可,但是在添加國外大語言模型時需要配置代理接口(臺灣貌似不需要)。我這里以Vultr的服務器為例,選用Debian 12 x64
。
為了后續的域名配置和SSL配置,我建議服務器選擇國外的。
?直接通過運行官方提供的安裝腳本安裝Docker。
curl -fsSL get.docker.com -o get-docker.sh && sudo sh get-docker.sh
?直接運行下述指令:
docker run -d --name one-api -p 3000:3000 -v ./data/oneapi:/data -v ./logs:/app/logs justsong/one-api:latest --log-dir /app/logs
?訪問主機IP:3000
?默認管理員賬戶:
root
123456
?登錄之后會提示修改密碼,按照指引完成即可。
?這里不對域名解析操作進行介紹,因為不同的域名提供商,對應的操作界面不同,不會域名解析的,請自行谷歌了解自己的域名提供商怎么進行域名解析。
選用國外服務器的話,域名也要國外的,我一般使用的是
cloudflare
平臺的域名。國內服務器進行域名配置的話,需要進行域名備案,且國外域名解析到國內服務器時會出現DNS污染的情況。
?我這里已經有一個域名oneapi.mnzdna.xyz
解析到了我這臺服務器上。
如何驗證域名是否解析到了服務器上?執行
ping 域名
,看看信息反饋的IP地址是不是你服務器的IP即可。
?運行如下指令:
apt install nginx -y
?Centos運行:
yum install nginx -y
?運行完成后,可以訪問服務器IP來驗證下Nginx是否安裝成功。
在訪問服務器的某端口所對應的程序時,需要確保對應的端口是否對外開放,nginx程序端口默認是80,如果訪問不了,可以使用
iptables
工具開放對應的端口,不會的話直接向ChatGPT提問。
?OneAPI的項目我們已經部署上了,從服務器的角度上來說,訪問本地3000端口
即可訪問OneAPI項目,從外部網絡來說,訪問服務器IP:3000
即可訪問OneAPI項目。
?在我們安裝了Nginx之后,我們需要將外部的請求全部轉發到本地的3000
端口即可,這里就需要用到Nginx的反向代理。
?運行下述指令,在/etc/nginx/conf.d
下創建一個oneapi項目的配置文件oneapi.conf
下面的操作需要有一定的linux基礎和Vim基礎,沒有的話,可以現在本地將
oneapi.conf
文件準備好,然后上傳到/etc/nginx/conf.d
下。
vim /etc/nginx/conf.d/oneapi.conf
?然后將下述配置信息復制進去:
server{
server_name oneapi.mnzdna.xyz; # 請根據實際情況修改你的域名
location / {
client_max_body_size 64m;
proxy_http_version 1.1;
# 反向代理配置
proxy_pass http://localhost:3000; # 請根據實際情況修改你的端口
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
proxy_set_header Accept-Encoding gzip;
proxy_read_timeout 300s; # GPT-4 需要較長的超時時間,請自行調整
}
}
?然后運行下述指令,重新加載Nginx配置文件
nginx -s reload
?然后在瀏覽器訪問你的域名。
?瀏覽器提示網站不安全,是因為網站沒有配置SSL證書。
?Nginx配置SSL證書可以在我的博客文章中了解:https://pgthinker.me/tag/nginx/.這里我們使用自動化配置SSL工具:Certbot
。
?安裝官方的教程,依次運行下述指令:
# 1. 安裝snapd 不同的Linux版本請使用不同的包管理工具進行安裝
apt install snapd
# 2. 使用snapd安裝certbot
sudo snap install --classic certbot
# 3. 創建鏈接,確保certbot能夠運行
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# 4. 使用certbot自動配置nginx
sudo certbot --nginx
第4步的時候,需要依次輸入信息,第一個是你的郵箱,隨意輸入,第二個是協議條款,填Y,第三個是訂閱消息輸入N,第四個是certbot自動檢測到你Nginx綁定的哪些域名,選擇對應域名的編號回車就會自動安裝SSL并對配置文件進行修改。
配置完SSL后,就可以通過https訪問,若出現訪問不了的情況,請確定443端口是否對外開放。
2. 添加智譜AI模型
3. 創建Key
?這里用ChatGPT-Next-Web項目進行測試。
?填入One-Api地址和剛剛創建的Key(令牌).
?選擇gpt-3.5-turbo
模型。
?添加自定義模型chatglm_turbo
,并設置chatglm_turbo
,測試智譜AI
文章轉自微信公眾號@易寫開發服務