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_tieri 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 tantservice_tier=prioritycomservice_tier=fasts'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,prioritatilotcom 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:
interactive_fastestàndard_interactiucapacitat_reservadadescompte_de_fonsemergency_fallbackAquesta 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ïdormodel_o_implementacióregionssupports_syncsupports_batchsupports_premium_tiersupports_provisioned_capacitysupports_spillovervalors_nivell_proveïdorelements_de_línia_de_facturaciócomportament_de_baixa_coneguttenant_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_fastha 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_fastsense 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.