llm gateway
v0.1.2
llm-gateway
是第三方LLM提供商(例如OpenAI,Cohere等)的網關。它跟踪從Postgres數據庫中從這些提供商發送和接收的數據,並在發送之前運行PII擦洗啟發式方法。
根據OpenAI的非API消費產品數據使用策略,他們“可以使用提示,響應,上傳圖像和生成圖像等內容來改善我們的服務”,以改善Chatgpt和Dall-E等產品。
使用llm-gateway
以安全的方式與OpenAI互動。網關還使用OpenAI /ChatCompletion
端點重新創建了Chatgpt前端,以將所有通信保留在API中。
提供者 | 模型 |
---|---|
Openai | GPT 3.5渦輪增壓 |
Openai | GPT 3.5渦輪增壓16K |
Openai | GPT 4 |
AI21實驗室 | 侏羅紀-2 Ultra |
AI21實驗室 | 侏羅紀-2中 |
亞馬遜 | 泰坦文字Lite |
亞馬遜 | 泰坦文字表達 |
亞馬遜 | 泰坦文字嵌入 |
人類 | 克勞德2.1 |
人類 | 克勞德2.0 |
人類 | 克勞德1.3 |
人類 | 克勞德瞬間 |
共同 | 命令 |
共同 | 指揮燈 |
共同 | 嵌入 - 英語 |
共同 | 嵌入 - 多語言 |
元 | Llama-2-13b-chat |
元 | Llama-2-70b-chat |
提供商的API密鑰需要保存為環境變量(請參閱進一步的設置)。如果您正在與OpenAI進行通信,請設置OPENAI_API_KEY
。
有關Cohere,OpenAI和AWS Bedrock的分步設置說明,請單擊此處。
[OpenAI]示例捲曲到/completion
端點:
curl -X 'POST'
'http://<host>/api/openai/completion'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"temperature": 0,
"prompt": "Tell me what is the meaning of life",
"max_tokens": 50,
"model": "text-davinci-003"
}'
[OpenAI]使用/chat_completion
端點時,將用戶和助手之間的對話提出。
curl -X 'POST'
'http://<host>/api/openai/chat_completion'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"messages": [
{"role": "assistant", "content": "You are an intelligent assistant."},
{"role": "user", "content": "create a healthy recipe"}
],
"model": "gpt-3.5-turbo",
"temperature": 0
}'
from llm_gateway . providers . openai import OpenAIWrapper
wrapper = OpenAIWrapper ()
wrapper . send_openai_request (
"Completion" ,
"create" ,
max_tokens = 100 ,
prompt = "What is the meaning of life?" ,
temperature = 0 ,
model = "text-davinci-003" ,
)
該項目使用詩歌,pyenv進行依賴和環境管理。查看詩歌的官方安裝文檔,並開始使用Pyenv。對於前端部分,該項目使用NPM和紗線進行依賴管理。該項目所需的最新節點版本在.Node-version中聲明。
如果使用Docker,則步驟1-3是可選的。我們建議安裝預加壓鉤以加快開發週期。
pyenv install 3.11.3
brew install gitleaks
poetry install
poetry run pre-commit install
cp .envrc.example .envrc
並使用API秘密更新在Docker中運行:
# spin up docker-compose
make up
# open frontend in browser
make browse
# open FastAPI Swagger API
make browse-api
# delete docker-compose setup
make down