B2BB2B LLM
Zakelijk inzicht

Hoe u een Partner LLM API kunt bouwen zonder onbewerkte providersleutels bloot te leggen

Een praktische referentiearchitectuur voor het blootstellen van LLM-mogelijkheden aan partners, resellers en klantapplicaties, terwijl de inloggegevens van de provider verborgen blijven, het afdwingen van huurderisolatie, het meten van gebruik en het publiceren van voorspelbaar quotagedrag.

Een partner API voor LLM-toegang mag geen dunne wikkel rond providersleutels zijn. Als partners, resellers of klanttoepassingen gedelegeerde toegang tot taalmodellen nodig hebben, heeft het platform zijn eigen controlevlak, gateway, beleidslaag, meetpijplijn en operationele runbooks nodig. Anders worden facturering op providerniveau, limieten op providerniveau en gedeelde inloggegevens de enige controlemiddelen tussen één partnerintegratie en een zeer duur incident.

Het doel is duidelijk: laat externe partijen LLM-mogelijkheden gebruiken via uw platform, terwijl u de inloggegevens van de upstream-provider privé houdt, partnerspecifieke rechten afdwingt, het factureerbare gebruik meet en partners voldoende transparantie geeft om betrouwbare klanten op te bouwen.

Referentiearchitectuur

Een praktische partner API bestaat uit twee hoofdonderdelen: een controlevlak en een verzoekgateway.

Het controlevlak beheert partnerorganisaties, applicaties, omgevingen, gedelegeerde API sleutels, modelrechten, tarieflimietniveaus, bestedingslimieten, factureringsvoorwaarden, webhookeindpunten en auditrecords. Dit is waar commerciële en operationele regels machinaal leesbaar beleid worden.

De aanvraaggateway ontvangt partnerverkeer, verifieert de gedelegeerde sleutel, evalueert het beleid, past quota toe, routeert naar de geselecteerde modelprovider, registreert het gebruik en retourneert voor de partner zichtbare metagegevens van antwoorden. In een volwassen ondernemings-LLM API is deze gateway ook de plek waar modelroutering, nieuwe pogingen, failover, inhoudscontroles en observatie consistent worden afgedwongen.

De belangrijke grens is deze: partners ontvangen alleen uw door het platform uitgegeven sleutels. Ze ontvangen nooit onbewerkte providerreferenties. Sleutels van de upstream-provider blijven in de geheime opslag van uw platform en worden alleen gebruikt door de gateway- of backend-werkers.

Feitenpatroon om rond te bouwen

Het volgende zijn feiten die worden ondersteund door openbare platform- en clouddocumentatie, en niet door aannames over een bepaalde implementatie:

  • Sommige LLM-providers ondersteunen sleutels voor projecten, serviceaccounts, modeltoegang op projectniveau en tarieflimieten op projectniveau.
  • Cloudbegeleiding voor SaaS-API's met meerdere tenants scheidt doorgaans beleidsbeheer, beleidsbeslissingen en beleidshandhaving om onbedoelde toegang tussen tenants te verminderen.
  • API gateways en SaaS-beheervlakken kunnen tenant-specifieke beperkings- en quotumcontroles toepassen, inclusief snelheids-, burst- en quotumniveaus.
  • Op gebruik gebaseerde SaaS-facturering is afhankelijk van het verzamelen van tenantactiviteit, het samenvoegen ervan en het afstemmen ervan op factureringsgegevens.
  • Idempotentiesleutels zijn een gedocumenteerd patroon voor het veilig opnieuw proberen van statusveranderende API verzoeken zonder dubbele bijwerkingen te veroorzaken.
  • Gestandaardiseerde responsheaders voor snelheidslimieten kunnen klanten inzicht geven in de limieten, de resterende hoeveelheid, de timing van resetten en het gedrag van nieuwe pogingen.

De aanbeveling is om deze patronen te combineren in een partnergerichte LLM-toegangslaag waarvan u de eigenaar bent, in plaats van elke partner te vragen rechtstreeks te integreren met elke upstream-modelaanbieder.

Stap 1: definieer het huurder- en identiteitsmodel

Identificeer partnerverkeer niet met slechts één API sleutelreeks. Een nuttige partner API heeft aparte ID's nodig omdat facturering, beoordeling van misbruik, foutopsporing van quota en ondersteuningsonderzoeken vaak verschillende vragen stellen.

Maak minimaal ID's voor:

  • Partnerorganisatie: het gecontracteerde externe bedrijf.
  • Partnerapplicatie: een specifieke integratie-, product-, plug-in- of resellerapplicatie.
  • Omgeving: productie, fasering, sandbox of ontwikkeling.
  • Eindklant: de klant, werkruimte, account of huurder van de partner, indien contractueel toegestaan en technisch beschikbaar.
  • API sleutel: de gedelegeerde inloggegevens die worden gebruikt om verzoeken te verifiëren.
  • Verzoek-ID: een unieke identificatie voor het traceren van één verzoek via uw gateway, provideraanroepen, gebruiksgebeurtenissen en ondersteuningslogboeken.

Deze structuur vermijdt de gebruikelijke foutmodus waarbij een gecompromitteerde of luidruchtige integratie alleen kan worden omschreven als 'partner X-verkeer'. Hiermee kunt u ook één applicatie of omgeving opschorten zonder het hele bedrijf van de partner uit te schakelen.

Stap 2: Gedelegeerde partnersleutels uitgeven

Partnersleutels moeten eersteklas platformobjecten zijn, en geen statische tokens in een spreadsheet. Elke sleutel moet metagegevens en beleidsbindingen hebben:

  • Partnerorganisatie-ID
  • Applicatie-ID
  • Omgeving
  • Toegestaan API platforms, zoals chatten, insluiten, batch- of afbeeldingsgeneratie
  • Toegestane modelaliassen
  • Regio- of gegevenslocatiebeperkingen, indien van toepassing
  • Tarieflimietniveau
  • Bestedingslimiet of prepaid-saldoregel
  • Aanmaaktijd, laatst gebruikte tijd, eigenaar en rotatiestatus

Sla waar mogelijk alleen gehasht sleutelmateriaal op, onthul volledige geheimen slechts één keer bij het maken en ondersteun rotatie zonder downtime. Een praktisch rotatiemodel staat twee actieve sleutels toe tijdens een korte overgangsperiode, waarbij auditlogboeken laten zien welke sleutel voor elk verzoek is gebruikt.

Stap 3: Rechten scheiden van routing

Het recht van een partner om een model te gebruiken mag niet worden geïmpliceerd door welke routeringscode dan ook die momenteel wordt ondersteund. Houd de rechtencontroles expliciet en gescheiden van de providerselectie.

Een verzoek om model: premium-reasoning moet bijvoorbeeld eerst door een beleidsbeslissing worden genomen:

  • Mag deze partner de modelalias gebruiken?
  • Mag de partnerapplicatie deze in deze omgeving gebruiken?
  • Bevindt het verzoek zich binnen de toegestane regio of gegevensgrens?
  • Is het contract actief en heeft het een goede reputatie?
  • Blijft de partner binnen de drempelwaarden voor uitgaven, quota en misbruik?

Pas na die beslissing mag routing de upstreamprovider, het providerproject, de implementatie of het terugvalpad kiezen. Dit is van belang omdat wijzigingen in modelroutering operationeel vaak voorkomen. Wijzigingen in rechten moeten doelbewust en controleerbaar zijn.

Stap 4: Publiceer een stabiele partner API Surface

Partners hebben stabiel gedrag nodig, zelfs als uw upstream-providers veranderen. Gebruik uw eigen modelaliassen en capaciteitsbeschrijvingen in plaats van elke modelnaam van een provider rechtstreeks openbaar te maken.

Een klein voorbeeld:

POST /v1/chat/completions
Authorization: Bearer partner_key_...
Idempotency-Key: job_01J7...
X-Partner-Customer-Id: customer_123

{
  "model": "standard-chat",
  "messages": [
    {"role": "user", "content": "Summarize this support thread."}
  ],
  "metadata": {
    "ticket_id": "T-44821",
    "workflow": "support_summary"
  }
}

De partner vraagt ​​om standard-chat. Uw gateway wijst die alias toe aan de huidige goedgekeurde provider en het huidige model, afhankelijk van rechten, beschikbaarheid, prijs, latentie, regio en kwaliteitsregels.

Verberg echter niet alle providerverschillen. Als twee modelaliassen verschillende contextvensters, ondersteuning voor gestructureerde uitvoer, gedrag bij het aanroepen van tools, latentieprofielen of regionale beschikbaarheid hebben, documenteer deze verschillen dan duidelijk. Abstractie moet de integratie vereenvoudigen en geen verrassingsgedrag creëren.

Stap 5: Quota afdwingen voordat provider belt

Providerlimieten zijn nuttige vangrails, maar handhaving op partnerniveau hoort thuis in uw platform. Eén upstreamproviderproject kan meerdere partners bedienen, of één partner kan meerdere applicaties hebben met verschillende contracten. Alleen vertrouwen op tarieflimieten op providerniveau kan dit onderscheid niet duidelijk weergeven.

Pas quotacontroles toe voordat u upstream-aanroepen doet:

  • Verzoeken per minuut per partnersleutel
  • Tokens per minuut per partnerorganisatie
  • Gelijktijdige verzoeken per applicatie
  • Dagelijks of maandelijks factureerbaar eenheidsquotum
  • Voorafbetaald saldo of kredietdrempel
  • Maximums per eindklant waar vereist

Wijs bij synchrone verzoeken duidelijk af wanneer het verzoek niet kan worden geaccepteerd. Voor asynchrone en batch-workloads kunt u wachtrijtoegang afzonderlijk van het uitvoeringsquotum overwegen. Een batchupload kan worden geaccepteerd, maar individuele taken moeten nog steeds worden gemeten en gestopt wanneer de partnerlimieten worden bereikt.

Stap 6: voorspelbare frequentielimietsignalen retourneren

Ondoorzichtige 429 Too Many Requests reacties zorgen voor vermijdbare supporttickets. Retourneer voor partners zichtbare quotumsignalen bij succesvolle en vertraagde reacties.

Een nuttig antwoord kan het volgende zijn:

RateLimit-Limit: 600;w=60
RateLimit-Remaining: 42
RateLimit-Reset: 17
Retry-After: 17
X-Request-Id: req_01J8...

Aanbevelingen:

  • Documenteer of limieten van toepassing zijn per sleutel, applicatie, organisatie, model of eindpunt.
  • Retourneer de reset-timing waarop klanten actie kunnen ondernemen.
  • Gebruik Retry-After voor vertraagde reacties.
  • Houd de foutteksten stabiel en machinaal leesbaar.
  • Maak geen interne gegevens van de upstream-provider openbaar, tenzij partners deze nodig hebben om gedrag te debuggen.

Dit maakt het gemakkelijker om partnerclients te bouwen en vermindert het aantal nieuwe pogingen tijdens verkeerspieken.

Stap 7: Idempotentie gebruiken voor factureerbaar werk

Elk eindpunt dat status- of factureerbaar werk creëert, moet idempotentiesleutels ondersteunen. Dit is vooral belangrijk voor asynchrone generatietaken, batchinzendingen, kredietaankopen, door webhook geactiveerde nieuwe pogingen en langlopende taken.

De implementatieregel is eenvoudig: wanneer een partner hetzelfde verzoek herhaalt met dezelfde idempotentiesleutel binnen de bewaarperiode, retourneer dan het oorspronkelijke resultaat in plaats van dubbel werk te maken.

Maak de randgevallen expliciet:

  • Hoe lang idempotentiegegevens bewaard blijven
  • Op welk eindpunt en welke partnersleutel is de idempotentiesleutel gericht
  • Wat gebeurt er als dezelfde sleutel opnieuw wordt gebruikt met verschillende verzoekparameters
  • Of mislukte verzoeken in de cache worden opgeslagen
  • Hoe idempotentie van toepassing is op gedeeltelijk voltooide batchtaken

Voor factureerbaar LLM-werk moet u voldoende vingerafdrukgegevens van verzoeken opslaan om niet-overeenkomende parameters te detecteren zonder onnodige gevoelige payload-inhoud te behouden.

Stap 8: Onveranderlijke gebruiksgebeurtenissen verzenden

Behandel facturen van leveranciers niet als de bron van waarheid voor partnerfacturering. Facturen van leveranciers kennen uw partnercontracten, opmaakregels, resellerniveaus, eindklant-ID's of geschillenworkflow meestal niet. Zend in plaats daarvan een onveranderlijke gebruiksgebeurtenis uit wanneer elk verzoek een terminalstatus bereikt.

Een gebruiksgebeurtenis moet het volgende bevatten:

  • Partnerorganisatie-ID
  • Applicatie-ID en omgeving
  • API sleutel-ID, niet de onbewerkte sleutel
  • Eindklant-ID, indien opgegeven en toegestaan
  • Verzoek-ID en providercorrelatie-ID
  • Modelalias en upstreamprovidermodel
  • Invoertokens, uitvoertokens, in het cachegeheugen opgeslagen tokens of andere factureerbare eenheden
  • Kostenbasis van provider, indien beschikbaar
  • Factureringseenheid, toeslag, kredietopname of contracttarief van partner
  • Status, foutklasse, latentie en aantal nieuwe pogingen
  • Tijdstempel en schemaversie

Deze gebeurtenissen voeden partnerdashboards, factureringsexports, detectie van afwijkingen, quotatellers en afstemming. Zorg ervoor dat de evenementenstream alleen als bijlage wordt toegevoegd. Correcties moeten aanpassingsgebeurtenissen zijn, geen stille bewerkingen.

Stap 9: Dagelijks afstemmen

Meting is alleen nuttig als het aansluit. Bouw een dagelijks proces dat uw gebruiksgebeurtenissen vergelijkt met upstream-providergebruik, leveranciersfacturen, tegoeden en factureringsgegevens voor partners.

Het afstemmingsproces moet het volgende identificeren:

  • Verzoeken geaccepteerd door uw gateway, maar ontbrekende terminalgebruiksgebeurtenissen
  • Providergebruik dat niet kan worden toegewezen aan een partnerverzoek
  • Verschillen in het aantal tokens tussen providerrapporten en gatewayrecords
  • Opnieuw gemaakte pogingen die ten onrechte zijn gefactureerd
  • Handmatige tegoeden, terugbetalingen en factuurcorrecties
  • Partners naderen de vastgelegde uitgaven, zijn bijna op met prepaid of ongebruikelijke groei

Dit is ook waar financiën, ondersteuning en techniek dezelfde ID's nodig hebben. Als het dashboard, het factuurregelitem, de logboekgebeurtenis en de providerrecord niet aan elkaar kunnen worden gekoppeld, worden geschillen handmatige onderzoeken.

Stap 10: operationele runbooks bouwen

Een Partner API is een extern productoppervlak, dus operationeel gedrag moet worden gepland voordat incidenten plaatsvinden. Schrijf ten minste runbooks voor deze situaties:

  • Gecompromitteerde partnersleutel: één sleutel intrekken of opschorten, de partner op de hoogte stellen, auditlogboeken bewaren en een rotatiepad opgeven.
  • Op hol geslagen gebruik: pas noodlimieten toe, onderbreek een applicatie of vereis goedkeuring voor verder gebruik.
  • Providerstoring: failover naar een goedgekeurde provider of retourneert een stabiele fout met begeleiding voor opnieuw proberen.
  • Quota-uitputting: geeft aan of de partner moet wachten, upgraden, credits moet kopen of het verkeer moet verminderen.
  • Webhook-herhaling: verifieer handtekeningen, gebruik idempotentie en volg pogingen tot aflevering van gebeurtenissen.
  • Factureringscorrectie: maak aanpassingsgebeurtenissen en bewaar de oorspronkelijke gebruiksrecords.

Runbooks moeten definiëren wie elke actie kan ondernemen. Het opschorten van één sleutel is anders dan het uitschakelen van een partnerorganisatie. Het verhogen van een quotum is iets anders dan het wijzigen van een contract. Noodcontroles hebben audittrails nodig.

Afwegingen

Een Partner API-gateway voegt latentie en operationele verantwoordelijkheid toe. Dat zijn de kosten van het controleren van inloggegevens, quota, routering, facturering en zichtbaarheid op partnercontractniveau.

Strikte quota beschermen de marges en verminderen misbruik, maar ze kunnen onnodige mislukkingen veroorzaken als burst-gedrag en richtlijnen voor nieuwe pogingen slecht zijn ontworpen. Een nuttig quotasysteem heeft zowel harde limieten als gedocumenteerd burst-gedrag.

Gedetailleerde metingen verbeteren de transparantie van de facturering en ondersteunen de resultaten, maar verhogen de verplichtingen op het gebied van retentie, privacy en afstemming. Verzamel de ID's die nodig zijn voor activiteiten en facturering, maar vermijd het opslaan van onbewerkte prompt- en responsinhoud in factureringsgegevens, tenzij er een duidelijke contractuele en nalevingsbasis is.

Modelabstractie maakt partnerintegraties eenvoudiger, maar excessieve abstractie kan materiële verschillen verbergen. Partners hoeven niet elk detail van de providerimplementatie te kennen, maar ze moeten wel weten wanneer een modelalias contextlimieten, uitvoerformaten, latentieverwachtingen of regionale beschikbaarheid verandert.

Implementatiechecklist

  • Geef partnersleutels van het platform uit in plaats van de inloggegevens van de provider te delen.
  • Wijs elke sleutel toe aan partner-, applicatie-, omgevings-, rechten-, quota- en factureringsgegevens.
  • Houd autorisatie- en rechtencontroles gescheiden van routeringslogica.
  • Gebruik stabiele modelaliassen met gedocumenteerde mogelijkheden en limieten.
  • Pas quotacontroles toe voordat de upstream provider aanroept.
  • Retourneer headers met snelheidslimiet en machineleesbare fouten.
  • Idempotentiesleutels vereisen voor eindpunten die status- of factureerbaar werk creëren.
  • Verzend onveranderlijke gebruiksgebeurtenissen bij voltooiing van het verzoek.
  • Registreer het gebruik met de gegevens van de provider en partnerfacturen.
  • Onderhoud runbooks voor belangrijke compromissen, overmatig gebruik, uitval van providers, uitputting van quota, herhaling van webhooks en factureringscorrectie.

Conclusie waar actie op ondernomen kan worden

De veiligste partner API voor LLM-toegang is geen proxy die verzoeken met verborgen inloggegevens doorstuurt. Het is een systeem voor gedelegeerde toegang met een eigen identiteitsmodel, beleidslaag, handhaving van quota, gebruiksmeter, afstemmingsproces en transparantie voor partners.

Begin met de controlegrenzen: partnersleutels, expliciete rechten, quotacontroles vóór de oproep, idempotente statusveranderende eindpunten en onveranderlijke gebruiksgebeurtenissen. Voeg vervolgens operationele volwassenheid toe: dashboards, afstemming, semantiek van snelheidslimieten en incidentrunbooks. Met deze architectuur kunnen partners voortbouwen op LLM-mogelijkheden zonder onbewerkte providersleutels te ontvangen, terwijl het platform voldoende controle krijgt om kosten, misbruik, betrouwbaarheid en factureringsgeschillen te beheren.

Gerelateerd lezen

FAQ

Veelgestelde vragen

Moeten partners ooit API-sleutels van de upstream LLM-provider ontvangen?
In de meeste Partner API-architecturen niet. Geef partnersleutels uit die eigendom zijn van het platform, wijs deze toe aan contract- en rechtenrecords en leid provideraanroepen via uw gateway, zodat inloggegevens, quota's, gebruiksmetingen en auditlogboeken onder uw controle blijven.
Zijn limieten op projectniveau van de provider voldoende voor partnertoegang?
Het zijn nuttige vangrails, maar ze kunnen doorgaans niet alle downstream-partnercontracten, -applicaties, -omgevingen, -limieten voor eindklanten of resellerniveaus uitdrukken. Controles op partnerniveau moeten op het platform worden afgedwongen voordat er upstream-provideraanroepen worden gedaan.
Wat moet er worden opgenomen in een partnergebruiksgebeurtenis?
Een praktische gebruiksgebeurtenis omvat partner-ID, applicatie-ID, omgeving, sleutel-ID, verzoek-ID, modelalias, upstream-model, tokenaantallen of factureerbare eenheden, providerkostenbasis, partnerfactureringseenheid, status, latentie, aantal nieuwe pogingen, tijdstempel en schemaversie.
Waar zijn idempotentiesleutels het belangrijkst?
Gebruik idempotentiesleutels op eindpunten die status- of factureerbaar werk creëren, inclusief asynchrone generatietaken, batch-uploads, kredietaankopen en door webhook geactiveerde nieuwe pogingen. Dit voorkomt dubbele kosten of dubbele taken wanneer klanten het veilig opnieuw proberen.