llm-gateway
é um gateway para fornecedores de terceiros LLM, como OpenAI, Cohere, etc. Ele rastreia os dados enviados e recebidos desses provedores em um banco de dados do Postgres e executa as heurísticas de lavagem do PII antes do envio.
De acordo com a Política de Dados de Dados de Produtos para Consumidores API da OpenAI, eles "podem usar conteúdo como instruções, respostas, imagens enviadas e gerar imagens para melhorar nossos serviços" para melhorar produtos como ChatGPT e Dall-E.
Use llm-gateway
para interagir com o OpenAI de maneira segura. O gateway também recria o front -end do ChatGPT usando o terminal do OpenAI /ChatCompletion
para manter toda a comunicação dentro da API.
Provedor | Modelo |
---|---|
Openai | GPT 3.5 Turbo |
Openai | GPT 3.5 Turbo 16k |
Openai | GPT 4 |
Ai21 Labs | Jurassic-2 Ultra |
Ai21 Labs | JURASSIC-2 MID |
Amazon | Titan Text Lite |
Amazon | Titan Text Express |
Amazon | INCORMAÇÕES DE TEXTO DE TITAN |
Antrópico | Claude 2.1 |
Antrópico | Claude 2.0 |
Antrópico | Claude 1.3 |
Antrópico | Claude Instant |
Coere | Comando |
Coere | Luz de comando |
Coere | Incorporação - Inglês |
Coere | Incorporação - multilíngue |
Meta | LLAMA-2-13B-CHAT |
Meta | Lhama-2-70b-chat |
A chave da API do provedor precisa ser salva como uma variável de ambiente (consulte a configuração mais abaixo). Se você estiver se comunicando com o OpenAI, defina OPENAI_API_KEY
.
Para obter instruções de configuração passo a passo com co-rock coere, OpenAI e AWS, clique aqui.
[OpenAI] Exemplo de encerramento /completion
terminal:
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] ao usar o endpoint /chat_completion
, formular como conversa entre usuário e assistente.
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" ,
)
Este projeto usa poesia, PYENV para gerenciamento de dependência e meio ambiente. Confira a documentação oficial da instalação para poesia e Pyenv para começar. Para parte front-end, este projeto usa o NPM e o YARN para gerenciamento de dependência. A versão do nó mais atualizada necessária para este projeto é declarada em. Node-Versão.
Se estiver usando o Docker, as etapas 1-3 são opcionais. Recomendamos a instalação de ganchos de pré-compromisso para acelerar o ciclo de desenvolvimento.
pyenv install 3.11.3
brew install gitleaks
poetry install
poetry run pre-commit install
cp .envrc.example .envrc
e atualize com segredos da APIPara correr em 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