Un gateway funcionando en menos de cinco minutos
Un contenedor, un proveedor, una petición. Sin cuenta, sin registro, sin phone-home. Si tiene Docker, terminará esta página antes de que le sirvan el café.
Arranque el gateway
El modo embebido no necesita nada externo: el estado se guarda en memoria, así que nada sobrevive a un reinicio, y todavía no hay que levantar ni Postgres ni Redis. La consola se sirve en el mismo puerto, desde el mismo binario de Rust.
$ docker run -p 4000:4000 <registry>/waeg-gateway:<version>No es un pull que funcione: las imágenes aún no son públicas. Los socios de diseño reciben los datos del registro en privado.
El registro y la versión son marcadores de posición — los socios de diseño los reciben en privado. Consola en http://localhost:4000/ui/: inicie sesión con la cuenta de administración predefinida y cambie su contraseña.
Añada un proveedor
Indíquele un upstream y un alias y reinicie con el archivo montado como indica el comentario. Los alias son lo que referencia su código de aplicación, así que puede reapuntarlos más adelante sin tocar la aplicación.
# waeg.yaml
providers:
openai:
provider: openai
api_key_env: OPENAI_API_KEY # or api_key_ref: a vault reference
models:
- name: chat # what your code sends as "model"
deployments:
- provider: openai
model_id: gpt-4o
# Restart with it mounted:
# docker run -p 4000:4000 -e OPENAI_API_KEY \
# -v "$PWD/waeg.yaml:/etc/waeg/waeg.yaml" \
# <registry>/waeg-gateway:<version> serve --config /etc/waeg/waeg.yamlApunte su SDK hacia él
Wäg sirve la superficie compatible con OpenAI, así que lo único que cambia es la URL base. Su SDK, las formas de petición, el comportamiento de streaming y el tool calling permanecen intactos.
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:4000/v1", # the only change
api_key="<your-waeg-virtual-key>", # created in the console
)
resp = client.chat.completions.create(
model="chat",
messages=[{"role": "user", "content": "Hello"}],
)Revise las cabeceras de respuesta. Es la primera señal visible de que algo decidió algo, en lugar de limitarse a reenviarlo:
| Cabecera | Qué le indica |
|---|---|
x-waeg-routed-model | Qué despliegue atendió realmente la petición. |
x-waeg-route-reason | Por qué lo eligió el router — con el enrutamiento inteligente y la afinidad de sesión. |
x-waeg-cache | En un acierto de caché, cuál de los cuatro niveles respondió. |
Véalo en la consola
Abra la consola y la petición ya estará ahí: tráfico, latencia, tokens, la decisión de enrutamiento y los veredictos de políticas. El coste aparece en cuanto se carga el paquete de precios incluido en Usage & cost → Pricing. No se configuró nada más: es lo que produce pasar por la ruta de la petición.
Por dónde seguir
Migrar desde LiteLLM
Importe su configuración actual con un solo comando, ejecute ambos en paralelo y cambie cuando los números coincidan.
Desplegar de verdad
El operator de Wäg ejecuta el gateway a partir de un único recurso personalizado — escalado, despliegues progresivos, comprobaciones de sus dependencias — y también hay un chart de Helm. Aporte Postgres, OpenFGA, Redis y un almacén de objetos.
Añadir gobernanza
Presupuestos jerárquicos, la cadena de políticas, control de agentes y MCP, registros de auditoría.
Wäg está en versión preliminar privada, así que la dirección de la imagen de arriba es un marcador de posición. Los socios de diseño reciben en privado las imágenes compiladas y firmadas y los datos del registro, con una incorporación acompañada.