Mejores Prácticas

Optimización para Producción

Obtén la menor latencia, el mayor rendimiento y el costo mínimo de tu integración con TokSpan. Estos son los patrones que ejecutamos en nuestra propia infraestructura de producción.

Minimizar la Latencia

Usar Agrupación de Conexiones

Reutilizar conexiones HTTP elimina la sobrecarga del handshake TLS en cada solicitud (~50-100ms ahorrados por llamada). El SDK de OpenAI agrupa conexiones automáticamente, pero para producción, ajuste el tamaño del pool:

python
import httpx
from openai import OpenAI

# Production-grade client with connection pooling
client = OpenAI(
    api_key="sk-your-key",
    base_url="https://api.tokspan.com/v1",
    http_client=httpx.Client(
        limits=httpx.Limits(
            max_keepalive_connections=20,
            max_connections=50,
        ),
        timeout=60.0,  # total timeout
    ),
)

Usar Siempre Streaming para una UX Interactiva

Establezca stream: true en cada solicitud orientada al usuario. El streaming entrega el primer token en ~100ms en lugar de esperar 5-30s por la respuesta completa. Consulte Chat Completions — Streaming para la implementación.

Enrutamiento Edge (Automático)

El DNS de TokSpan resuelve automáticamente api.tokspan.com a la ubicación edge más cercana. No se requiere configuración. Para despliegues auto-hospedados, despliegue en la región de su aplicación para una sobrecarga de red inferior a 5ms.

Aprovechar el Prompt Caching

El prompt caching puede reducir el tiempo hasta el primer token en hasta un 80% en prompts repetidos. Coloque el contenido estático (instrucciones del sistema, contexto) al inicio de su array de mensajes. Consulte la guía de Prompt Caching para más detalles.

Lista de Verificación de Latencia

OptimizaciónImpacto en LatenciaEsfuerzo
Agrupación de conexiones−50–100ms por solicitudBajo
Habilitar streamingPercibido: −5–30sBajo
Caché de prompts−80% en aciertos de cachéMedio
Auto-hospedar cerca de la app−30–80ms RTT de redAlto
Usar sufijo -fast−20–50% tiempo de generaciónNinguno

Minimizar el Costo

Selección Inteligente de Modelos

No todas las tareas necesitan GPT-4o o Claude Opus. Dirija las tareas más simples a modelos más económicos:

Tipo de TareaModelo RecomendadoCosto vs. GPT-4o
Clasificación, extracción, etiquetadoGPT-4o-mini, Claude Haiku, Gemini Flash10–50× más económico
Redacción, resumen, traducciónDeepSeek V3, Llama 4, Mistral Large 33–10× más económico
Razonamiento complejo, generación de códigoGPT-4o, Claude Opus 4.8Línea base
Procesamiento por lotes / en segundo planoDeepSeek V3 + sufijo -cheap5–15× más económico

Establecer Límites de Gasto

Configure presupuestos mensuales por clave en el Panel. Las claves se deshabilitan automáticamente al alcanzar el límite — sin facturas sorpresa. Establezca límites más bajos en claves de desarrollo y límites más estrictos en claves compartidas con clientes. Consulte Alcance de Claves.

Usar Sufijos de Modelo Optimizados para Costo

Agregue -cheap a cualquier nombre de modelo para enrutar automáticamente al proveedor de menor costo para ese modelo. Para trabajos por lotes no críticos, esto ahorra 10–30% sin cambios de código.

Lista de Verificación de Costos

OptimizaciónImpacto en CostoEsfuerzo
Dirigir tareas simples a modelos mini−70–95% en esas tareasMedio
Habilitar prompt caching−50–90% en aciertos de cachéBajo
Usar sufijo -cheap en trabajos por lotes−10–30%Ninguno
Establecer presupuestos mensuales por claveLímite estricto de gasto máximoBajo
Monitorear el panel de uso semanalmenteDetectar anomalías a tiempoBajo

Maximizar el Rendimiento

Asíncrono + Procesamiento por Lotes

Para procesamiento masivo, use clientes asíncronos y solicitudes concurrentes. La infraestructura de TokSpan escala horizontalmente — su límite de rendimiento suele ser su límite de tasa, no el servidor:

python
import asyncio
from openai import AsyncOpenAI

client = AsyncOpenAI(api_key="sk-your-key", base_url="https://api.tokspan.com/v1")

async def process_batch(prompts: list):
    tasks = [
        client.chat.completions.create(
            model="gpt-4o",
            messages=[{"role": "user", "content": p}],
        )
        for p in prompts
    ]
    return await asyncio.gather(*tasks)

Guías de Concurrencia

Como punto de partida:

  • Pago por uso: Hasta 50 solicitudes concurrentes (límite de 500 RPM)
  • Empresarial: Concurrencia personalizada — contáctenos para conocer su límite
  • Auto-hospedado: Limitado solo por su infraestructura

Monitoree x-ratelimit-remaining-requests en los encabezados de respuesta para medir su margen. Si alcanza rutinariamente el 80%+ de su límite, solicite un aumento.

Fiabilidad en Producción

Reintentar con Backoff Exponencial

Los fallos de red y problemas temporales del proveedor ocurren. Siempre envuelva las llamadas API en lógica de reintento:

python
import time
import random
from openai import OpenAI, RateLimitError, APIError

def chat_with_retry(client, model, messages, max_retries=3):
    for attempt in range(max_retries):
        try:
            return client.chat.completions.create(model=model, messages=messages)
        except RateLimitError:
            if attempt == max_retries - 1: raise
            # Exponential backoff with jitter
            wait = (2 ** attempt) + random.uniform(0, 1)
            time.sleep(wait)
        except APIError as e:
            if e.status_code < 500 or attempt == max_retries - 1: raise
            wait = (2 ** attempt) + random.uniform(0, 1)
            time.sleep(wait)

Configurar Failover Automático

Configure una cadena de failover entre proveedores (OpenAI → Anthropic → Google) en el Panel. Si su proveedor principal falla, el tráfico se enruta automáticamente sin solicitudes perdidas. Consulte Failover Automático.

Estrategia de Claves API

  • Clave de desarrollo: Presupuesto bajo ($10/mes), restringida a modelos económicos, sin restricción de IP
  • Clave de staging: Presupuesto moderado ($50/mes), conjunto de modelos de producción, con restricción de IP
  • Clave de producción: Presupuesto más alto, todos los modelos, restringida por IP a servidores de producción

Rote las claves cada 90 días. Use claves separadas por proyecto si gestiona varios proyectos.

Referencia Rápida: Sufijos de Modelo para Producción

SufijoOptimiza ParaCaso de Uso
-fastMenor latenciaChat en tiempo real, apps interactivas
-cheapMenor costoTrabajos por lotes, desarrollo/pruebas, segundo plano
-highMáxima calidadRazonamiento complejo, generación de código, análisis
-lowRápido + económicoConsultas simples, clasificación
-thinkingDepurar razonamientoIngeniería de prompts, visibilidad de cadena de razonamiento