? ? ? ? ? ?
?
InfoGPT 是筆者學(xué)習(xí)
ChatGPT
等大語(yǔ)言模型過(guò)程中開(kāi)發(fā)的一款開(kāi)源軟件
,截至 v0.0.14 版本,支持 openai api 代理、電報(bào)機(jī)器人、微信公眾號(hào)三個(gè)平臺(tái)。微信公眾號(hào)集成比較麻煩,會(huì)專(zhuān)門(mén)開(kāi)一篇介紹。
項(xiàng)目地址:https://github.com/alwqx/infogpt
歡迎大家試用和提需求
對(duì)于個(gè)人用戶
OpenAI API 代理
共享 API Key
Telegram Bot
二進(jìn)制運(yùn)行
前往 releases[1] 網(wǎng)頁(yè)下載最新版本壓縮包,這里以 Apple M2 芯片壓縮包
infogpt-v0.0.14-darwin-arm64.tar.gz
為例。
$?tar?xzvf?infogpt-v0.0.14-darwin-arm64.tar.gz
x?README.md
x?configs/
x?configs/config.yaml
x?infogpt
修改配置文件
configs/config.yaml
server:
??http:
????addr:?0.0.0.0:6060
????timeout:?300s
??grpc:
????addr:?0.0.0.0:6061
????timeout:?2s
admin:
??openai_api_key:?""
??proxy_url:?""
??gin_ratelimit:?"20-D"
??telegram:
????token:?""
????#?機(jī)器人的請(qǐng)求限制,原則上應(yīng)該比?user_ratelimit?大,為空則不進(jìn)行限制
????ratelimit:?""
????#?每個(gè)用戶的請(qǐng)求限制,為空則不進(jìn)行限制
????user_ratelimit:?"20-D"
????exclude_keys:?["foo",?"bar"]
??wechat:
????app_id:?""
????app_secret:?""
????token:?""
????encoding_aes_key:?""
????#?機(jī)器人的請(qǐng)求限制,原則上應(yīng)該比?user_ratelimit?大,為空則不進(jìn)行限制
????ratelimit:?""
????#?每個(gè)用戶的請(qǐng)求限制,為空則不進(jìn)行限制
????user_ratelimit:?"20-D"
????exclude_keys:?["foo",?"bar"]
????auto_replay:
??????"001":?"infogpt?infogpt1"
運(yùn)行二進(jìn)制文件
#?geek?@?geekdeMBP?in?~/Downloads/infogptlab?[22:18:36]
$?./infogpt?-conf?configs
2023/04/18?22:18:54?maxprocs:?Leaving?GOMAXPROCS=12:?CPU?quota?undefined
DEBUG?msg=config?loaded:?config.yaml?format:?yaml
INFO?module=service/admin?ts=2023-04-18T22:18:54+08:00?caller=service.go:71?service.id=geekdeMBP.lan?service.name=?service.version=?trace.id=?span.id=?msg=[NewAdminService]?no?proxy_url,?use?http.DefaultClient
WARN?msg=[NewAdminService]?not?enable?telegram?bot,?skip
[GIN-debug]?GET????/hello????????????????????-->?infogpt/internal/server.ginHello?(5?handlers)
[GIN-debug]?GET????/openaiproxy/*path????????-->?infogpt/internal/server.openaiProxy?(5?handlers)
WARN?msg=not?enable?wechat,?skip
注意:默認(rèn)只有代理功能,即把向 infogpt 發(fā)送的請(qǐng)求轉(zhuǎn)發(fā)到 OpenAI 的 API server。
后臺(tái)運(yùn)行
nohup?./infogpt?-conf?configs?>?infogpt.log?2>&1?&
請(qǐng)求 demo
$?curl?--location?'localhost:6060/openaiproxy/v1/completions'?\
--header?'Authorization:?Bearer?YOUR_TOKEN'?\
--header?'Content-Type:?application/json'?\
--data?'{
????"model":?"text-davinci-003",
????"prompt":?"你好",
????"max_tokens":?1024,
????"temperature":?0
??}'
{
??"id":?"cmpl-76grTMyULgpL8MT8iAyqR9ZChwyqX",
??"object":?"text_completion",
??"created":?1681829083,
??"model":?"text-davinci-003",
??"choices":?[
????{
??????"text":?"\n\n 你好!",
??????"index":?0,
??????"logprobs":?null,
??????"finish_reason":?"stop"
????}
??],
??"usage":?{
????"prompt_tokens":?4,
????"completion_tokens":?9,
????"total_tokens":?13
??}
}
詳情參考文檔 deploy[2]
Docker 運(yùn)行
docker?run?-d?--name?infogpt?--rm?-p?6060:6060?-p?6061:6061?-v?</path/to/your/configs>:/data/conf?infogpt:latest
TODOs
[x] 支持 OpenAI Proxy
-
[x] REST/gRPC 接口
[x] 聊天
[x] 生成網(wǎng)頁(yè)文章摘要
[x] 生成書(shū)籍內(nèi)容摘要
-
[x] Telegram
[x] /chat /url /book 三個(gè)命令
[x] 使用頻率限制
-
[x] WeChat 公眾號(hào)有限支持
[x] 使用頻率限制
[x] 超時(shí)緩存問(wèn)答
[ ] 支持 ChatGPT Proxy
[ ] Slack
[ ] 生成文件內(nèi)容摘要
致謝
本開(kāi)源項(xiàng)目的開(kāi)發(fā),離不開(kāi)這些開(kāi)源項(xiàng)目的支持:
go-kratos[3]
參考資料
[1]
releases: https://github.com/alwqx/infogpt/releases
[2]deploy: docs/deploy.md文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-488124.html
[3]go-kratos: https://github.com/go-kratos/kratos文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-488124.html
到了這里,關(guān)于InfoGPT - 讓ChatGPT/文心一言等大語(yǔ)言模型更易用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!