
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