llm-gateway
es una puerta de entrada para proveedores de LLM de terceros como OpenAI, Cohere, etc. Hace rastro de datos enviados y recibidos de estos proveedores en una base de datos de Postgres y ejecuta Heuristics PII antes de enviar.
Según la política de uso de datos de productos de consumo no API de OpenAI, "pueden usar contenido, como indicaciones, respuestas, imágenes cargadas e imágenes generadas para mejorar nuestros servicios" para mejorar productos como ChatGPT y Dall-E.
Use llm-gateway
para interactuar con OpenAi de manera segura. La puerta de enlace también recrea el frontend ChatGPT utilizando el punto final de OpenAI /ChatCompletion
para mantener toda la comunicación dentro de la API.
Proveedor | Modelo |
---|---|
Opadai | GPT 3.5 Turbo |
Opadai | GPT 3.5 Turbo 16k |
Opadai | GPT 4 |
AI21 Labs | Jurassic-2 Ultra |
AI21 Labs | Jurassic-2 Mid |
Amazonas | Titan Text Lite |
Amazonas | Titan Text Express |
Amazonas | Titan Text Incruscaciones |
Antrópico | Claude 2.1 |
Antrópico | Claude 2.0 |
Antrópico | Claude 1.3 |
Antrópico | Claude Instant |
Adherirse | Dominio |
Adherirse | Luz de comando |
Adherirse | Incruta - Inglés |
Adherirse | Incrustación - multilingüe |
Meta | Llama-2-13b-chat |
Meta | LLAMA-2-70B-CHAT |
La clave API del proveedor debe guardarse como una variable de entorno (ver Configuración más abajo). Si se está comunicando con OpenAI, configure OPENAI_API_KEY
.
Para obtener instrucciones de configuración paso a paso con Cohere, OpenAI y AWS Bedrock, haga clic aquí.
[OpenAI] Ejemplo de curl a /completion
finalización:
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] Al usar el punto final /chat_completion
, formule como conversación entre el usuario y el asistente.
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 proyecto utiliza poesía, pyenv para dependencia y gestión del medio ambiente. Consulte la documentación oficial de instalación de poesía y pyenv para comenzar. Para la parte delantera, este proyecto usa NPM e hilo para la gestión de dependencias. La versión de nodo más actualizada requerida para este proyecto se declara en .node-Version.
Si usa Docker, los pasos 1-3 son opcionales. Recomendamos instalar ganchos previos al comercio para acelerar el ciclo de desarrollo.
pyenv install 3.11.3
brew install gitleaks
poetry install
poetry run pre-commit install
cp .envrc.example .envrc
y actualizar con los secretos de APIPara correr en 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