
Cómo usar EvoLink Smart Router: configuración de API y pruebas
https://direct.evolink.ai/v1/chat/completions con model: "evolink/auto".response.model, por lo que el routing sigue siendo observable.Referencia rápida
| Configuración | Valor | Función |
|---|---|---|
| Endpoint | https://direct.evolink.ai/v1/chat/completions | Chat Completions compatible con OpenAI |
| Autenticación | Authorization: Bearer $EVOLINK_API_KEY | Autentica la solicitud |
| Model ID | evolink/auto | Activa Smart Router |
| Formato | Array messages compatible con OpenAI | Mantiene patrones de SDK conocidos |
| Modelo enrutado | response.model | Muestra qué modelo respondió |
| Alcance actual | Texto y flujos de agentes | Imagen y vídeo usan IDs explícitos |
1. Prepara la clave API
export EVOLINK_API_KEY="your-api-key"En PowerShell:
$env:EVOLINK_API_KEY="your-api-key"Usa claves distintas para desarrollo, staging y producción para poder analizar uso y rotarlas por separado.
2. Envía la primera solicitud
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header "Authorization: Bearer $EVOLINK_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "evolink/auto",
"messages": [
{
"role": "user",
"content": "Clasifica esta solicitud como facturación, problema técnico o acceso a cuenta: no puedo iniciar sesión después de restablecer mi contraseña."
}
],
"temperature": 0.2,
"stream": false
}'model:{
"id": "chatcmpl-example",
"object": "chat.completion",
"model": "actual-routed-model",
"choices": [
{
"message": {
"role": "assistant",
"content": "acceso a cuenta"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 26,
"completion_tokens": 4,
"total_tokens": 30
}
}actual-routed-model es ilustrativo. Inspecciona siempre el valor real de tu respuesta.3. Integración con Python
import os
import time
from openai import OpenAI
client = OpenAI(
api_key=os.environ["EVOLINK_API_KEY"],
base_url="https://direct.evolink.ai/v1",
)
started_at = time.perf_counter()
response = client.chat.completions.create(
model="evolink/auto",
messages=[
{
"role": "user",
"content": "Resume este informe de incidente y enumera las dos próximas acciones de ingeniería.",
}
],
temperature=0.2,
)
print("routed_model:", response.model)
print("latency_ms:", round((time.perf_counter() - started_at) * 1000))
print("usage:", response.usage)
print("output:", response.choices[0].message.content)baseURL: "https://direct.evolink.ai/v1" y model: "evolink/auto".Cómo funciona el routing
- La aplicación envía una solicitud compatible con OpenAI usando
evolink/auto. - El router evalúa el tipo y la complejidad de la tarea.
- La solicitud se asigna a un perfil como Fast, Standard o Reasoning.
- Un modelo candidato adecuado procesa la solicitud.
- El modelo elegido vuelve en
response.model.
| Perfil | Uso típico | Tareas de ejemplo |
|---|---|---|
| Fast | Trabajo sencillo y de gran volumen | Reescritura, clasificación, formato |
| Standard | Procesamiento general de texto | Resumen, extracción, análisis de soporte |
| Reasoning | Análisis y planificación complejos | Análisis multietapa, ayuda a decisiones |
| Coding / Agentic Coding | Flujos de código cuando estén soportados | Review, debugging, planificación de refactor |
Los perfiles describen tipos de trabajo, no una lista permanente de modelos.
Smart Router frente a modelo fijo
| Carga de trabajo | Smart Router | Modelo fijo |
|---|---|---|
| Clasificación, extracción y razonamiento mezclados | Buen punto de partida | Requiere reglas propias |
| Desarrollo inicial | Útil para recopilar datos reales | Mejor tras definir una baseline |
| Benchmark estricto | No es adecuado porque el modelo puede variar | Opción correcta |
| QA determinista o aprobación controlada | Requiere controles | Suele ser más seguro |
| Funciones específicas de un modelo | No se pueden asumir | Obligatorio |
| Generación de imagen o vídeo | Fuera del alcance actual | Usa un ID multimedia explícito |
Una arquitectura práctica utiliza routing para texto mixto y modelos fijos para rutas evaluadas o controladas.
Qué registrar
| Campo | Motivo |
|---|---|
| Nombre de feature o workflow | Separa patrones de tráfico |
| Request ID | Conecta logs y diagnóstico |
response.model | Identifica el modelo enrutado |
| Latencia | Comprueba el objetivo de respuesta |
| Tokens de entrada y salida | Ayuda al análisis de uso y coste |
| Estado HTTP y reintentos | Expone problemas de fiabilidad |
| Resultado de calidad | Registra el eval específico de la tarea |
No registres prompts o respuestas sensibles si entran en conflicto con tus requisitos de privacidad.
Cómo probar antes de producción
- Crea un conjunto representativo de entradas normales, ambiguas y erróneas.
- Elige el modelo fijo actual como baseline.
- Ejecuta los mismos inputs y parámetros mediante
evolink/auto. - Compara calidad, latencia, tokens, errores y modelo enrutado por workflow.
- Empieza con tráfico de bajo riesgo y conserva modelos fijos para QA estricta.
No tomes la decisión con una sola media: revisa por tipo de tarea y nivel de riesgo.
Errores comunes de la API
| Estado | Significado | Acción recomendada |
|---|---|---|
400 | Parámetros inválidos | Revisa JSON, Model ID y tipos |
401 | Clave inválida o caducada | Revisa o rota el Bearer token |
402 | Cuota insuficiente | Revisa créditos y facturación |
403 | Acceso denegado | Confirma acceso a Smart Router |
429 | Rate limit | Reintentos limitados con backoff y jitter |
500 / 502 / 503 | Error interno o upstream | Reintenta con backoff y conserva un fallback |
Configura timeouts explícitos y evita reintentos ilimitados.
Errores frecuentes de adopción
- asumir que Smart Router siempre elige el modelo más barato
- esperar siempre el mismo modelo para el mismo prompt
- enviar generación de imagen o vídeo a
evolink/auto - no guardar
response.model - publicar una lista fija de modelos candidatos
FAQ
¿Qué endpoint debo usar?
POST https://direct.evolink.ai/v1/chat/completions, el endpoint mostrado en la guía oficial.¿Qué Model ID activa Smart Router?
model como evolink/auto.¿Cómo sé qué modelo procesó la solicitud?
model de la respuesta y guárdalo con latencia, tokens y metadatos del workflow.¿Smart Router siempre cuesta menos?
No. El coste efectivo depende de las solicitudes, el modelo enrutado, la longitud de salida, los reintentos y el nivel de calidad requerido.
¿Devuelve siempre el mismo modelo para el mismo prompt?
No bases tu aplicación en esa expectativa. Usa un modelo fijo cuando la identidad del modelo o la reproducibilidad sean obligatorias.
¿Funciona para imagen y vídeo?
El alcance actual son solicitudes compatibles de texto y agentes. Usa IDs explícitos para generación multimedia.
¿Puedo usar streaming?
stream. Valida el comportamiento de streaming de tu cuenta y cliente antes de depender de él en producción.¿Cuándo debo cambiar a un modelo fijo?
Cuando un workflow tenga un ganador probado, necesite funciones específicas o requiera regresiones y aprobaciones estrictas.
Siguiente paso
evolink/auto y con un modelo fijo. Compara calidad, latencia, tokens, errores y el modelo devuelto.

