Guia i visió

Enrutament de nivell de servei en una passarel·la d'API AI: ràpid, estàndard, subministrat i per lots sense proveïdors de codificació dura

Una arquitectura pràctica per exposar nivells de càrrega de treball d'IA neutrals per al proveïdor a la passarel·la i, a continuació, assignar cada sol·licitud a capacitat ràpida, estàndard, subministrada o per lots amb controls d'inquilí, anàlisis i registres de facturació.

L'encaminament del nivell de servei és la capa de política que decideix si una sol·licitud d'IA mereix una capacitat de baixa latència premium, una capacitat normal sota demanda, un rendiment reservat o un processament asíncron amb descompte. Sense aquesta capa, els equips d'aplicacions solen codificar marques específiques del proveïdor, noms de desplegament i punts finals de lot directament al codi del producte. Això fa que la latència, el cost, la quota i el comportament de facturació dels inquilins siguin difícils de governar.

La passarel·la hauria d'exposar la intenció de la càrrega de treball, no la mecànica del proveïdor. Un equip de producte hauria de poder dir "aquesta és una resposta d'assistència interactiva" o "aquesta és una feina d'enriquiment nocturn", mentre que la passarel·la mapeja aquesta intenció amb l'opció de capacitat aigües amunt correcta i registra el que va passar realment.

El problema del lector: les classes de capacitat s'estan convertint en la lògica de l'aplicació

Els equips que utilitzen més d'un proveïdor de models sovint comencen amb un enrutament de models senzill: envieu aquest ID de model a aquest proveïdor. L'encaminament es fa més difícil quan els proveïdors exposen diferents classes de capacitat:

  • Gestió de sol·licituds de baixa latència premium per a camins orientats a l'usuari.
  • Capacitat compartida estàndard per al trànsit sincrònic normal.
  • Capacitat dedicada o subministrada per a un rendiment previsible.
  • API per lots o asíncrones per a càrregues de treball tolerants a la latència.
  • Comportament de desbordament quan s'esgota la capacitat reservada.

Si cada aplicació gestiona aquestes opcions per si mateixa, l'organització perd el control de quatre coses: qui pot utilitzar la capacitat premium, quant costa, què passa quan la capacitat no està disponible i si el nivell escollit ha millorat el producte prou com per justificar la despesa.

El patró pràctic és posar una capa de qualitat de servei neutra per al proveïdor dins de la passarel·la de l'API d'IA.

Fets sobre els quals es basa

Els detalls varien segons el proveïdor, però diversos fets observables donen suport a un disseny a nivell de passarel·la.

  • Fet: alguns proveïdors exposen un nivell de servei per sol·licitud per al processament premium. OpenAI descriu el mode ràpid com una opció per sol·licitud mitjançant el paràmetre service_tier i diu que es factura amb una prima en relació amb el processament estàndard. OpenAI també afirma que el processament prioritari es va canviar el nom de mode ràpid el 30 de juliol de 2026, mentre que tant service_tier=priority com service_tier=fast s'accepten per a les sol·licituds d'API.
  • Fet: és possible que la gestió de sol·licituds Premium no sigui un univers de quota independent. OpenAI assenyala que els límits de velocitat del mode ràpid es comparteixen amb altres nivells de servei i que els augments ràpids del trànsit poden desencadenar un comportament de velocitat en rampa on part del trànsit es pot enviar al processament estàndard.
  • Fet: el nivell de servei pot ser una dimensió d'informes i de facturació. OpenAI diu que els clients de l'API poden agrupar les dades del tauler d'ús per nivell de servei i línia de comanda. Documents antròpics estàndard, prioritat i lot com a valors de nivell de servei als informes d'ús de l'API.
  • Fet: les API per lots poden reduir substancialment el cost del treball asíncron. La documentació de preus antròpics diu que la seva API Batch admet el processament asíncron de grans volums amb un descompte del 50% en fitxes d'entrada i sortida. La documentació de l'API Gemini Batch de Google descriu grans càrregues de treball asíncrones amb un 50% del cost estàndard, amb compensacions de lliurament com ara fins a 24 hores per a algunes feines de gran volum.
  • Fet: el rendiment subministrat és un model de capacitat independent. Microsoft documenta el rendiment subministrat d'Azure OpenAI com a capacitat dedicada, en contrast amb els desplegaments estàndard on la capacitat es comparteix i el rendiment pot variar segons la demanda. Microsoft també documenta el desbordament dels desplegaments subministrats a les implementacions estàndard en el mateix recurs d'Azure OpenAI.

La recomanació és no reflectir tots els termes del proveïdor al codi de l'aplicació. La recomanació és normalitzar aquests mecanismes en nivells de passarel·la orientats a l'empresa.

Definiu nivells de passarel·la neutrals per al proveïdor

Comenceu anomenant nivells per al comportament de la càrrega de treball, no per la terminologia del proveïdor. Una primera taxonomia útil és:

Nivell de passarel·la Càrrega de treball típica Esperativa de latència Posició de costos Comportament predeterminat de baixada de nivell interactive_fast Bucles de veu, xat en directe, accions d'usuari de gran valor Latència pràctica més baixa Premium permesa Continua amb l'estàndard o falla ràpidament, depenent del flux de treball estàndard_interactiu Xat normal, redacció de suport, copilots interns Síncron Cost predeterminat Torneu a provar, feu una alternativa o retorneu un error controlat capacitat_reservada Trànsit de producció previsible amb una utilització constant Rendiment previsible Capacitat prepagada o compromesa Vés només quan la política ho permet descompte_de_fons Avaluacions, enriquiment, resum, incrustacions, informes Asíncron Descompte preferit Feu la cua fins que hi hagi disponible una ruta per lots emergency_fallback Resposta a incidents o escalada temporal del client Depenent de la política Excepció controlada Caduca automàticament després de la finestra d'aprovació

Aquesta llista de nivells és deliberadament petita. Si creeu vint nivells, els desenvolupadors passaran per alt el sistema. La passarel·la encara pot assignar un nivell neutral a diversos mecanismes específics del proveïdor internament.

Separa el nivell sol·licitat del nivell seleccionat

La persona que truca hauria d'enviar un nivell sol·licitat, però la passarel·la hauria de registrar tant el nivell sol·licitat com el nivell seleccionat real. No sempre són iguals.

Exemple de metadades de sol·licitud:

{
  "model": "support-chat-default",
  "missatges": [...],
  "metadades": {
    "workflow": "customer_support_reply",
    "tenant_id": "arrendatari_123",
    "requested_gateway_tier": "interactive_fast",
    "end_user_id": "u_789"
  }
}

Exemple de registre d'enviament:

{
  "request_id": "req_abc",
  "tenant_id": "arrendatari_123",
  "api_key_id": "key_live_456",
  "workflow": "customer_support_reply",
  "model_alias": "support-chat-default",
  "requested_gateway_tier": "interactive_fast",
  "selected_provider": "proveïdor_a",
  "selected_provider_tier": "ràpid",
  "tier_outcome": "seleccionat_com_sol·licitat",
  "downgrade_reason": nul,
  "input_tokens": 1840,
  "output_tokens": 420,
  "latency_ms": 1420,
  "estimated_cost_usd": "0,0312",
  "settled_cost_usd": "0,0308"
}

Si una sol·licitud premium s'envia a un processament estàndard a causa de límits de rampa o regles de pressupost de l'inquilí, ha de ser visible:

{
  "requested_gateway_tier": "interactive_fast",
  "selected_provider_tier": "estàndard",
  "tier_outcome": "ha baixat de nivell",
  "downgrade_reason": "tenant_premium_budget_exhausted"
}

Aquesta distinció evita analítiques enganyoses. Si els taulers només mostren el que ha sol·licitat la persona que truca, les finances veuran la intenció premium però no l'execució premium. Si els taulers de control només mostren el resultat amunt, els equips de producte no sabran quan se li va negar la capacitat premium al seu flux de treball sensible a la latència.

Crea una matriu de capacitats abans d'enrutar

Un encaminador de nivell de servei necessita una matriu de capacitats. La matriu hauria de respondre: per a un model, una regió, un inquilí i un flux de treball determinats, quins mecanismes de capacitat estan disponibles?

Camps mínims:

  • proveïdor
  • model_o_implementació
  • regions
  • supports_sync
  • supports_batch
  • supports_premium_tier
  • supports_provisioned_capacity
  • supports_spillover
  • valors_nivell_proveïdor
  • elements_de_línia_de_facturació
  • comportament_de_baixa_conegut
  • tenant_allowlist

Un exemple simplificat:

gateway_tier_map:
  interactive_fast:
    preferit:
      - proveïdor: openai
        request_params:
          service_tier: ràpid
      - proveïdor: antròpic
        request_params:
          service_tier: prioritat
    alternativa:
      - gateway_tier: estàndard_interactiu
        allow_when: policy.allows_standard_downgrade
  background_discount:
    preferit:
      - proveïdor: antròpic
        modalitat: lot
      - proveïdor: bessons
        modalitat: lot
    alternativa:
      - cua: delayed_retry
        permès_quan: cert
  capacitat_reservada:
    preferit:
      - proveïdor: azure_openai
        deployment_class: subministrat
    alternativa:
      - proveïdor: azure_openai
        deployment_class: estàndard
        allow_when: policy.allows_spillover

Aquesta matriu hauria de ser de configuració, no codi dispers. Els canvis de nom del proveïdor, la disponibilitat regional i el tractament de facturació canviaran amb el temps. Actualitzar una política de passarel·la és més segur que tornar a desplegar totes les aplicacions que criden a l'API.

Classifica les càrregues de treball abans de triar la capacitat

La part més difícil no és el mapeig del proveïdor. És decidir quines sol·licituds mereixen quin nivell.

Bons candidats per a interactive_fast

  • Assistents de veu on el retard interromp la conversa.
  • Xat orientat al client en camins de conversió o retenció d'alt valor.
  • Operacions human-in-the-loop en què un agent està esperant activament.
  • Incidents de producció en què la latència afecta directament la mitigació.

Bons candidats per a interactive_standard

  • Copilots interns.
  • Admet esborranys on un ésser humà pot tolerar el temps de resposta normal.
  • Funcions del producte on el temps de resposta és important però no és crític.

Bons candidats per a background_discount

  • Resum nocturn.
  • Enriquiment de documents grans.
  • Avaluacions fora de línia.
  • Actualitzacions d'inserció massiva.
  • Etiquetatge analític i generació d'informes.

Bons candidats per a capacitat_reservada

  • Càrregues de treball de producció de gran volum constant.
  • Càrregues de treball del client contractades amb compromisos de rendiment previsibles.
  • Trànsit que no pot tolerar la variació sorollosa dels veïns i té prou ús per justificar la capacitat dedicada.

Una regla de política senzilla és: no permeteu que les persones que truquin escullin la capacitat premium només perquè prefereixen la velocitat. Requereix un flux de treball declarat, un permís d'inquilí i un sobre pressupostari.

Aplicar els permisos d'inquilí i de clau API

Cada inquilí i clau d'API haurien de tenir un conjunt de nivells permesos. Les claus noves haurien de tenir per defecte els nivells estàndard i de fons, no els nivells premium.

Exemple de política d'inquilí:

{
  "tenant_id": "arrendatari_123",
  "allowed_gateway_tiers": [
    "estàndard_interactiu",
    "descompte_fons"
  ],
  "nivell_premium": {
    "habilitat": fals,
    "monthly_budget_usd": "0,00",
    "approval_required": cert
  },
  "capacitat_reservada": {
    "habilitat": cert,
    "deployment_pool": "support-prod-ptu",
    "allow_spillover_to_standard": cert,
    "spillover_monthly_budget_usd": "500,00"
  }
}

Exemple de substitució a nivell de clau:

{
  "api_key_id": "key_voice_prod",
  "allowed_gateway_tiers": ["interactive_fast"],
  "workflow_allowlist": ["voice_control_loop"],
  "premium_daily_budget_usd": "75,00",
  "max_premium_traffic_percent": 15
}

La política a nivell de clau evita l'expansió accidental. Un desenvolupador no pot agafar una clau destinada al trànsit de veu i utilitzar-la per a un script de resum massiu tret que el flux de treball també estigui permès.

Dissenyeu explícitament el comportament de rebaixa i desbordament

El comportament de baixada és una decisió del producte, no només una decisió d'infraestructura. Quan la capacitat premium o provisionada no està disponible, la passarel·la hauria de triar un dels quatre camins:

  • Continua amb l'estàndard: útil quan la disponibilitat importa més que la coherència de la latència.
  • Cua: útil per a tasques en segon pla i càrregues de treball per lots.
  • Falla ràpid: útil quan una resposta lenta seria pitjor que cap resposta, com ara bucles ajustats en temps real.
  • Demanar a la persona que truca que torni a intentar-ho: útil quan el client pot tornar a intentar-ho de manera segura amb un backoff i una clau d'idempotència conservada.

Exemple de política:

downgrade_policy:
  bucle_de_control_de_veu:
    requested_tier: interactive_fast
    if_fast_unavailable: fail_fast
    error_code: tier_capacity_unavailable
  customer_support_reply:
    requested_tier: interactive_fast
    if_fast_unavailable: continue_en_estàndard
    record_outcome: rebaixat
  nightly_document_enrichment:
    requested_tier: background_discount
    if_batch_unavailable: cua
    màxim_queue_delay_hours: 24
  contracted_api_customer:
    requested_tier: capacitat_reservada
    if_reserved_exhausted: spillover_to_standard
    require_spillover_budget: true

No amagueu el desbordament. El desbordament pot millorar la disponibilitat, però canvia la interpretació de costos i SLO. Les factures i les anàlisis haurien de mostrar la sol·licitud de capacitat reservada, l'esdeveniment de desbordament, la capacitat estàndard que s'utilitza realment i el motiu.

Connecteu l'encaminament del nivell de servei a la facturació

Una passarel·la no pot controlar la despesa premium si l'elecció del nivell no forma part del llibre major. Emmagatzemeu aquests camps per a cada sol·licitud o feina:

  • Nivel de passarel·la sol·licitat.
  • Nivell de proveïdor o classe de capacitat seleccionats.
  • Resultat del nivell: seleccionat, rebaixat, actualitzat, posat en cua, desbordament, rebutjat.
  • Motiu del resultat.
  • Identificadors d'inquilí, clau d'API, usuari i flux de treball.
  • Àlies de model i model o desplegament aigües amunt.
  • Cost estimat abans de l'enviament.
  • Cost liquidat després de conèixer l'ús del proveïdor.
  • Recompte de latència i reintents per a sol·licituds sincròniques.
  • Temps d'enviament per lots, temps de finalització i estat d'ingestió de resultats per a tasques asíncrones.

Amb aquests camps, la passarel·la pot respondre a les preguntes que les finances i l'enginyeria faran:

  • Quins inquilins han utilitzat capacitat premium aquesta setmana?
  • Quins fluxos de treball han provocat la despesa més premium?
  • Con quina freqüència les sol·licituds premium han baixat a estàndard?
  • interactive_fast ha millorat prou la latència p95 per justificar la prima?
  • Quant ha estalviat el processament per lots en segon pla en comparació amb el processament estàndard sincrònic?
  • Quant desbordament estàndard ha generat la capacitat subministrada?

La recomanació important: facturar el nivell real utilitzat, alhora que es mostra el nivell sol·licitat per al context operatiu. En cas contrari, els llogaters es veuran sorpresos pel cost o enganyats sobre la qualitat del servei.

Afegiu baranes perquè el premium no esdevingui el predeterminat

Un cop els equips descobreixen un nivell més ràpid, poden fer-ne un ús excessiu. Posa límits a la passarel·la abans del llançament ampli.

  • Pressupost premium per inquilí: sostres mensuals i diaris durs.
  • Aprovació del flux de treball: Premium només es permet per a fluxos de treball amb nom.
  • Límit de quota de trànsit: per exemple, no més del 10% de les sol·licituds sincròniques d'un inquilí poden utilitzar interactive_fast sense aprovació.
  • Alerta d'estàndard a premium: alerta quan s'actualitza un flux de treball que normalment utilitza estàndard.
  • Alerta d'índex de combustió premium: alerta quan la despesa projectada supera la dotació aprovada.
  • Caducitat automàtica: les anul·lacions temporals d'emergència haurien de caducar sense neteja manual.
  • Verificacions d'elegibilitat per lots: bloqueja les feines massives dels nivells premium sincrònics quan compleixin els criteris per lots.

Les baranes han de ser reversibles. Durant un incident, és possible que un operador autoritzat hagi de concedir una anul·lació temporal de la prima. Aquesta substitució hauria de tenir un motiu, un aprovador, un pressupost, un temps de caducitat i un registre d'auditoria.

Seqüència d'implementació

Un llançament segur no comença activant l'encaminament premium a tot arreu. Comenceu amb la mesura.

1. Afegeix una classificació de nivell d'ombra

Classifiqueu cada sol·licitud en un nivell de passarel·la proposat, però encara no canvieu l'encaminament. Enregistreu el nivell proposat al costat de les metadades de latència, cost i flux de treball existents. Això revela la quantitat de trànsit que es traslladaria a la capacitat premium, per lots o reservada si s'apliqués la política.

2. Creeu la matriu de capacitats

Enumereu els mecanismes del proveïdor, els models admesos, les regions, els límits, els camps d'informes i el comportament de baixada conegut. Tracta el comportament desconegut de rebaixes com un risc fins que no es faci la prova.

3. Apliqueu els permisos d'inquilí en mode d'execució en sec

Registreu si cada sol·licitud es permetria, baixarà a una versió inferior, es posarà en cua o es rebutjarà. Compartiu els resultats amb els propietaris del producte abans de l'aplicació.

4. Activa un nivell per a una cohort

Trieu un flux de treball restringit, com ara un camí de resposta d'assistència en directe o un treball de resum nocturn. Activeu el nivell de passarel·la rellevant per a una petita cohort d'inquilins. Mesureu la latència p50, la latència p95, el cost, el percentatge de rebaixes, el percentatge d'errors i les mètriques empresarials orientades a l'usuari quan estiguin disponibles.

5. Amplieu només quan les dades ho admeten

Si el nivell premium millora la latència però no els resultats del producte, manteniu-lo limitat. Si el processament per lots redueix el cost sense perjudicar el comportament del producte, amplieu-lo. Si la capacitat subministrada està inactiva, reviseu el compromís o encamineu-hi un trànsit més previsible.

Compartiments per fer explícits

  • Els nivells premium de baixa latència poden millorar la capacitat de resposta, però poden compartir límits de velocitat o provocar restriccions de rampa. No són un substitut de la configuració del límit de velocitat.
  • La capacitat subministrada millora la predictibilitat, però pot malbaratar diners quan la utilització és baixa. És possible que la capacitat estàndard o per lots sigui millor per al trànsit amb força o tolerant a la latència.
  • El processament per lots pot reduir el cost del testimoni, però canvia el comportament del producte perquè les respostes són asíncrones i poden arribar molt més tard.
  • Els noms de nivells neutrals per a proveïdors simplifiquen el codi de l'aplicació, però la passarel·la ha de mantenir una matriu de capacitats actualitzada perquè els proveïdors utilitzen diferents noms, límits, línies de facturació i comportaments de baixada.
  • La baixada automàtica millora la disponibilitat, però pot difuminar les expectatives de SLO i de facturació tret que la passarel·la enregistri el nivell real utilitzat.
  • Els controls estrictes dels inquilins eviten la despesa sorpresa, però les polítiques massa rígides poden bloquejar els fluxos de treball de producció urgents tret que hi hagi una ruta de substitució controlada.

Predicció: el nivell de servei es convertirà en una dimensió d'encaminament de primera classe

Predicció: a mesura que les API del model maduren, el nivell de servei serà tan important per a l'encaminament de l'IA com l'elecció del model, la regió i la finestra de context. Els equips no només preguntaran "Quin model hauria de respondre això?" Es preguntaran "quin model, en quina classe de capacitat, per a quin pressupost de llogater, amb quina política de rebaixes?"

Recomanació: dissenyeu ara el llibre major de la passarel·la i el model de política perquè es puguin afegir noves classes de capacitat del proveïdor sense canviar el codi de l'aplicació. Fins i tot si comenceu només amb estàndards i lots, feu servir camps com ara requested_gateway_tier, selected_provider_tier i tier_outcome des del principi.

Llista de verificació accionable

  • Definiu no més de cinc nivells de passarel·la neutrals per al proveïdor.
  • Requereix que cada clau d'API declari quins nivells i fluxos de treball pot utilitzar.
  • Creeu una matriu de capacitats del proveïdor per al comportament premium, estàndard, aprovisionat, per lots i spillover.
  • Registreu el nivell sol·licitat, el nivell seleccionat, el resultat de baixada o desbordament, la latència, l'ús i el cost liquidat.
  • Tecles noves predeterminades per als nivells estàndard o de fons.
  • Afegiu pressupostos premium, límits de quota de trànsit i alertes.
  • Feu explícit el comportament de baixada per flux de treball.
  • Comenceu amb mètriques d'ombra abans de l'aplicació.
  • Primer desplegueu la capacitat premium o provisionada a una petita cohort.
  • Amplieu només quan la latència, la fiabilitat o les mètriques empresarials justifiquen el cost.

Conclusió

L'encaminament del nivell de servei pertany a la passarel·la de l'API de l'IA perquè és una decisió de política transversal. Afecta la latència, el cost, les quotes, els permisos dels inquilins, les factures i les expectatives operatives. Els equips d'aplicacions no haurien de codificar els noms de nivell específics del proveïdor ni les classes de desplegament només per expressar la urgència de la càrrega de treball.

Una passarel·la pràctica exposa nivells neutrals com ara interactive_fast, interactive_standard, reserved_capacity i background_discount. Mapeja aquests nivells amb mecanismes específics del proveïdor, fa complir els permisos de l'inquilí, registra el resultat real i fa que la capacitat premium sigui una excepció intencionada en lloc de la ruta predeterminada.

Lectura relacionada

FAQ

Preguntes freqüents

Les aplicacions haurien de triar els nivells de servei específics del proveïdor directament?
Normalment no. Les aplicacions haurien d'enviar la intenció de càrrega de treball o un nivell de passarel·la neutral per al proveïdor. La passarel·la hauria de traduir-ho en paràmetres específics del proveïdor, desplegaments, API per lots o regles de desbordament.
La capacitat premium de baixa latència és un reemplaçament de la gestió del límit de velocitat?
No. Els nivells premium encara poden compartir límits de tarifes o veure's afectats pel comportament de la rampa. La passarel·la encara necessita una estimació de quotes, un suavització de ràfegues, una política d'equitat de l'inquilí i una política de reintents.
Quan hauria d'utilitzar una càrrega de treball per lots en lloc de la capacitat estàndard síncrona?
Utilitzeu el lot quan el producte pugui tolerar la finalització asíncrona: avaluacions fora de línia, enriquiment de documents, resums nocturns, incrustacions massives i generació d'informes són candidats habituals.
Què s'ha de registrar per a la facturació?
Enregistreu el nivell de passarel·la sol·licitat, el nivell de proveïdor real o la classe de capacitat, el resultat de la degradació o el desbordament, el motiu, l'arrendatari, la clau, el flux de treball, l'ús del testimoni, la latència, el cost estimat i el cost liquidat.