Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Compatible personalizado

Conecta PRX a cualquier API LLM que siga el formato de Chat Completions de OpenAI. Funciona con LiteLLM, vLLM, Groq, Mistral, xAI, Venice, Vercel AI, Cloudflare AI, HuggingFace Inference y cualquier otro servicio compatible con OpenAI.

Requisitos previos

  • Una API LLM en ejecucion que implemente el formato de Chat Completions de OpenAI (/v1/chat/completions o /chat/completions)
  • Una clave API (si el servicio lo requiere)

Configuracion rapida

1. Identificar tu endpoint

Determina la URL base y el metodo de autenticacion de tu API. Por ejemplo:

  • Groq: https://api.groq.com/openai/v1
  • Mistral: https://api.mistral.ai/v1
  • xAI: https://api.x.ai/v1
  • vLLM local: http://localhost:8000/v1
  • Proxy LiteLLM: http://localhost:4000

2. Configurar

toml
[default]
provider = "compatible"
model = "your-model-name"

[providers.compatible]
api_key = "${YOUR_API_KEY}"
api_url = "https://api.your-provider.com/v1"

3. Verificar

bash
prx doctor models

Proveedores compatibles integrados

PRX incluye alias preconfigurados para servicios populares compatibles con OpenAI:

Nombre del proveedorAliasURL baseEstilo de auth
Venicevenicehttps://api.venice.aiBearer
Vercel AIvercel, vercel-aihttps://api.vercel.aiBearer
Cloudflare AIcloudflare, cloudflare-aihttps://gateway.ai.cloudflare.com/v1Bearer
Groqgroqhttps://api.groq.com/openai/v1Bearer
Mistralmistralhttps://api.mistral.ai/v1Bearer
xAIxai, grokhttps://api.x.ai/v1Bearer
Qianfanqianfan, baiduhttps://aip.baidubce.comBearer
LiteLLMlitellm, lite-llmconfigurableBearer
vLLMvllm, v-llmconfigurableBearer
HuggingFacehuggingface, hfconfigurableBearer

Referencia de configuracion

CampoTipoPor defectoDescripcion
api_keystringopcionalClave de autenticacion API
api_urlstringrequeridoURL base del endpoint de la API
modelstringrequeridoNombre/ID del modelo a usar
auth_stylestring"bearer"Estilo de cabecera de autenticacion (ver abajo)

Estilos de autenticacion

EstiloFormato de cabeceraUso
bearerAuthorization: Bearer <key>La mayoria de proveedores (por defecto)
x-api-keyx-api-key: <key>Algunos proveedores chinos
customNombre de cabecera personalizadoCasos especiales

Caracteristicas

Deteccion automatica de endpoint

PRX automaticamente agrega /chat/completions a tu URL base. No necesitas incluir la ruta del endpoint:

toml
# Correct - PRX appends /chat/completions
api_url = "https://api.groq.com/openai/v1"

# Also correct - explicit path works too
api_url = "https://api.groq.com/openai/v1/chat/completions"

Llamada nativa a herramientas

Las herramientas se envian en el formato estandar de llamada a funciones de OpenAI. El proveedor soporta tool_choice: "auto" y deserializa correctamente las respuestas estructuradas de tool_calls.

Soporte de vision

Para modelos con capacidad de vision, las imagenes incrustadas en mensajes como marcadores [IMAGE:data:image/png;base64,...] se convierten automaticamente al formato de vision de OpenAI con bloques de contenido image_url.

Soporte de streaming

El proveedor compatible soporta streaming SSE para entrega de tokens en tiempo real.

Fusion de mensajes del sistema

Algunos proveedores (ej., MiniMax) rechazan mensajes role: system. PRX puede fusionar automaticamente el contenido del mensaje del sistema en el primer mensaje del usuario.

Modo forzado HTTP/1.1

Algunos proveedores (notablemente DashScope/Qwen) requieren HTTP/1.1 en lugar de HTTP/2. PRX detecta automaticamente estos endpoints y fuerza HTTP/1.1.

Configuracion avanzada

Servidor LLM local (vLLM, llama.cpp, etc.)

toml
[default]
provider = "compatible"
model = "meta-llama/Llama-3.1-8B-Instruct"

[providers.compatible]
api_url = "http://localhost:8000/v1"
# No api_key needed for local servers

Proxy LiteLLM

toml
[default]
provider = "litellm"
model = "gpt-4o"

[providers.litellm]
api_key = "${LITELLM_API_KEY}"
api_url = "http://localhost:4000"

Multiples proveedores personalizados

Usa el router de modelos para configurar multiples proveedores compatibles:

toml
[default]
provider = "openrouter"
model = "anthropic/claude-sonnet-4"

[[model_routes]]
pattern = "groq/*"
provider = "compatible"
api_url = "https://api.groq.com/openai/v1"
api_key = "${GROQ_API_KEY}"

[[model_routes]]
pattern = "mistral/*"
provider = "compatible"
api_url = "https://api.mistral.ai/v1"
api_key = "${MISTRAL_API_KEY}"

Solucion de problemas

Conexion rechazada

Asegurate de que el endpoint de la API es alcanzable:

bash
curl -v https://api.your-provider.com/v1/models

401 Unauthorized

  • Verifica que tu clave API es correcta
  • Comprueba que el estilo de autenticacion coincide con tu proveedor (Bearer vs x-api-key)
  • Algunos proveedores requieren cabeceras adicionales; usa un alias de proveedor con nombre si esta disponible

"role: system" rechazado

Si tu proveedor no soporta mensajes del sistema, PRX deberia manejar esto automaticamente para proveedores conocidos. Para endpoints personalizados, esta es una limitacion del proveedor. Solucion: incluir instrucciones del sistema en el primer mensaje del usuario.

El streaming no funciona

No todas las APIs compatibles con OpenAI soportan streaming. Si el streaming falla, PRX recurre al modo sin streaming automaticamente.

Modelo no encontrado

Verifica el nombre/ID exacto del modelo que tu proveedor espera. Diferentes proveedores usan diferentes convenciones de nomenclatura:

  • Groq: llama-3.3-70b-versatile
  • Mistral: mistral-large-latest
  • xAI: grok-2

Consulta la documentacion de tu proveedor para los identificadores correctos de modelo.

Released under the Apache-2.0 License.