Aller au contenu principal

usage/usage.go (package usage)

Source : sdks/go/usage/usage.go. Retour à l'index de la référence du SDK Go.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe Builder​

Builder assemble un Usage Event.

Builder.At​

At(t time.Time) *Builder

At remplace occurred_at.

NomTypeDéfautRequisDescription
ttime.TimeouiHeure de la consommation, enregistrée en UTC.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Build​

Build() (eai.UsageEvent, error)

Build valide l'événement par rapport au contrat Usage Event v1.

Cet élément ne prend aucun paramètre.

Retour : (eai.UsageEvent, error). Un UsageEvent : le contrat Usage Event v1 (contracts/v1/usage-event.schema.json). L'error est une erreur typée du SDK, nil en cas de succès.

Erreurs levées : error.

Builder.Estimated​

Estimated(amount string, currency string) *Builder

Estimated définit le coût estimé (chaîne décimale).

NomTypeDéfautRequisDescription
amountstringouiMontant décimal exact sous forme de chaîne, par exemple 0.0042.
currencystringouiCode de devise ISO 4217, par exemple EUR.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Execution​

Execution(agentID string, sessionID string, runID string, taskID string) *Builder

Execution définit les identifiants d'agent, de session, d'exécution et de tâche.

NomTypeDéfautRequisDescription
agentIDstringouiAgent consommateur ; vide, agent_id reste nul.
sessionIDstringouiSession de la consommation ; vide, session_id reste nul.
runIDstringouiExécution consommatrice ; vide, run_id est omis.
taskIDstringouiTâche de la consommation ; vide, task_id reste nul.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.ID​

ID(id string) *Builder

ID remplace l'identifiant de l'événement.

NomTypeDéfautRequisDescription
idstringouiIdentifiant d'événement utilisé à la place du ue-<aléatoire> généré.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Label​

Label(k string, v string) *Builder

Label ajoute un label.

NomTypeDéfautRequisDescription
kstringouiNom du label.
vstringouiValeur du label, jusqu'à 256 caractères.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Lang​

Lang(l string) *Builder

Lang choisit la langue des messages de validation (en, fr).

NomTypeDéfautRequisDescription
lstringouiLangue des messages de Build, en ou fr.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Measured​

Measured(amount string, currency string) *Builder

Measured définit le coût mesuré et marque l'événement comme mesuré.

NomTypeDéfautRequisDescription
amountstringouiMontant décimal exact sous forme de chaîne, par exemple 0.0042.
currencystringouiCode de devise ISO 4217, par exemple EUR.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Model​

Model(provider string, modelID string, deploymentID string, region string) *Builder

Model définit le fournisseur, le modèle, le déploiement et la région.

NomTypeDéfautRequisDescription
providerstringouiFournisseur qui a servi l'appel ; exigé par le contrat.
modelIDstringouiIdentifiant du modèle qui a servi l'appel.
deploymentIDstringouiDéploiement du modèle ; vide, deployment_id est omis.
regionstringouiRégion de traitement, par exemple eu-west-1.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Pricing​

Pricing(priceCardID string, version string, currency string, effectiveAt time.Time) *Builder

Pricing définit le prix applicable au moment de l'appel.

NomTypeDéfautRequisDescription
priceCardIDstringouiGrille tarifaire utilisée ; vide, price_card_id est omis.
versionstringouiVersion de la tarification (pricing_version).
currencystringouiDevise ISO 4217 de la grille tarifaire.
effectiveAttime.TimeouiHeure à partir de laquelle le prix s'applique, enregistrée en UTC.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Project​

Project(projectID string, environment string) *Builder

Project définit project_id et environment.

NomTypeDéfautRequisDescription
projectIDstringouiProjet de la consommation ; vide, project_id est omis.
environmentstringouiEnvironnement de la consommation ; vide, environment est omis.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.TokenTotals​

TokenTotals(input int64, output int64, cachedInput int64, reasoning int64) (*Builder, error)

TokenTotals suit la règle FinOps des jetons : input inclut déjà les jetons en cache, output inclut déjà le raisonnement (totaux du fournisseur, les sous-comptes ne s'ajoutent jamais par-dessus). Renvoie une erreur quand un sous-compte dépasse son total.

NomTypeDéfautRequisDescription
inputint64ouiTotal des jetons d'entrée donné par le fournisseur, jetons en cache compris.
outputint64ouiTotal des jetons de sortie donné par le fournisseur, jetons de raisonnement compris.
cachedInputint64ouiJetons d'entrée en cache, compris dans input ; écrits dans cached_input_tokens s'ils sont positifs.
reasoningint64ouiJetons de raisonnement, compris dans output.

Retour : (*Builder, error). Un Builder : il assemble un Usage Event. L'error est renseignée quand un sous-compte dépasse son total, nil en cas de succès.

Erreurs levées : error.

Builder.Tokens​

Tokens(input int64, output int64, reasoning int64) *Builder

Tokens définit les jetons d'entrée, de sortie et de raisonnement (les valeurs nulles sont omises).

NomTypeDéfautRequisDescription
inputint64ouiJetons d'entrée, écrits dans input_tokens s'ils sont positifs.
outputint64ouiJetons de sortie, écrits dans output_tokens s'ils sont positifs.
reasoningint64ouiJetons de raisonnement, écrits dans reasoning_tokens s'ils sont positifs.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Trace​

Trace(requestID string, providerRequestID string, traceID string) *Builder

Trace définit les identifiants de requête, de requête du fournisseur et de trace.

NomTypeDéfautRequisDescription
requestIDstringouiIdentifiant de requête de la plateforme ; vide, il est omis.
providerRequestIDstringouiIdentifiant de requête donné par le fournisseur ; vide, il est omis.
traceIDstringouiIdentifiant de trace ; vide, il est omis.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Builder.Unit​

Unit(name string, value float64) *Builder

Unit définit un compteur d'unités (input_tokens, output_tokens, reasoning_tokens, requests, duration_ms...).

NomTypeDéfautRequisDescription
namestringouiNom de l'unité, l'une de celles du contrat Usage Event.
valuefloat64ouiQuantité consommée ; elle remplace une valeur précédente de la même unité.

Retour : *Builder. Un Builder : il assemble un Usage Event.

Modèle Options​

Options configure un Emitter.

Champs :

NomTypeRequisDescription
BatchSizeintouiHôtes traités en même temps, de 1 à 100, 1 par défaut.
FlushIntervaltime.Durationoui2 s par défaut.
QueueSizeintouiÉvénements en mémoire tampon, 10000 par défaut.
OnErrorfunc(err error, events []eai.UsageEvent)ouiOnError reçoit les lots qui ont échoué après les nouvelles tentatives du client.

Classe Emitter​

Emitter envoie les événements en arrière-plan. Il peut être utilisé par plusieurs goroutines en même temps.

Emitter.Close​

Close(ctx context.Context) error

Close cesse d'accepter des événements, vide la file et arrête la boucle (à appeler à l'arrêt).

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.

Retour : error. Erreur de l'appel (une erreur typée du SDK), nil en cas de succès.

Erreurs levées : error.

Emitter.Emit​

Emit(ev eai.UsageEvent) error

Emit met un événement en file sans bloquer.

NomTypeDéfautRequisDescription
eveai.UsageEventouiÉvénement à envoyer, en général issu de Builder.Build ; il est abandonné avec ErrQueueFull quand la file est pleine.

Retour : error. Erreur de l'appel (une erreur typée du SDK), nil en cas de succès.

Erreurs levées : error.

Emitter.Flush​

Flush(ctx context.Context) error

Flush envoie tout de suite tous les événements en file et renvoie la première erreur.

NomTypeDéfautRequisDescription
ctxcontext.ContextouiContexte de l'appel : annulation et échéance.

Retour : error. Erreur de l'appel (une erreur typée du SDK), nil en cas de succès.

Erreurs levées : error.

Emitter.Sent​

Sent() int64

Sent renvoie combien d'événements ont été acceptés par le serveur.

Cet élément ne prend aucun paramètre.

Retour : int64. Nombre d'événements des lots acceptés par le serveur depuis le démarrage.

Fonctions​

NewEvent​

NewEvent(tenantID string, usageType string, source string) *Builder

NewEvent commence un événement pour un tenant, un type d'usage (llm, embeddings, tool...) et une source (gateway, runtime, tool_gateway...). L'identifiant de l'événement et occurred_at sont générés.

NomTypeDéfautRequisDescription
tenantIDstringouiTenant auquel la consommation est imputée.
usageTypestringouiNature de la consommation, par exemple llm, embeddings ou tool.
sourcestringouiComposant émetteur, par exemple gateway, runtime ou tool_gateway.

Retour : *Builder. Un Builder : il assemble un Usage Event.

NewEmitter​

NewEmitter(client *eai.Client, opts Options) *Emitter

NewEmitter démarre la boucle d'arrière-plan.

NomTypeDéfautRequisDescription
client*eai.ClientouiClient parent.
optsOptionsouiOptions de l'appel (requête, clé d'idempotence, traceparent, en-têtes).

Retour : *Emitter. Un Emitter : il envoie les événements en arrière-plan et peut être utilisé par plusieurs goroutines en même temps.