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