models.go (package eai)
Source : sdks/go/models.go. Retour à l'index de la référence du SDK Go.
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.
Modèle Money
Money est un montant décimal sous forme de chaîne avec une devise ISO 4217.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Amount (amount) | string | oui | Montant décimal exact sérialisé en chaîne, par exemple 12.50. |
Currency (currency) | string | oui | Code de devise ISO 4217, par exemple EUR. |
Modèle UsagePricing
UsagePricing est le prix applicable au moment de l'appel.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
PriceCardID (price_card_id) | *string | non | Grille tarifaire utilisée, omise si nil. |
PricingVersion (pricing_version) | string | oui | Version de la tarification utilisée. |
Currency (currency) | string | oui | Code de devise ISO 4217, par exemple EUR. |
EffectiveAt (effective_at) | time.Time | oui | Heure à partir de laquelle le prix s'applique. |
ReasoningBilling (reasoning_billing) | string | non | Facturation des jetons de raisonnement : included_in_output (par défaut), separate, not_billed ou not_exposed. |
AllocationPolicyID (allocation_policy_id) | *string | non | Politique de répartition des coûts appliquée, omise si nil. |
Modèle UsageCost
UsageCost contient les coûts estimé, mesuré et facturé (chacun peut être nul).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Estimated (estimated) | *Money | non | Coût estimé : un montant décimal sous forme de chaîne avec une devise ISO 4217. |
Measured (measured) | *Money | non | Coût mesuré : un montant décimal sous forme de chaîne avec une devise ISO 4217. |
Billed (billed) | *Money | non | Coût facturé : un montant décimal sous forme de chaîne avec une devise ISO 4217. |
Modèle UsageEvent
UsageEvent est le contrat Usage Event v1 (contracts/v1/usage-event.schema.json).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
SchemaVersion (schema_version) | string | oui | Version du contrat 1.<mineure> ; les versions mineures restent rétrocompatibles. |
EventID (event_id) | string | oui | Identifiant de l'événement, qui sert à le dédoublonner (event_id). |
OccurredAt (occurred_at) | time.Time | oui | Date à laquelle l'usage a eu lieu. |
TenantID (tenant_id) | string | oui | Locataire de l'agent. default par défaut. |
ProjectID (project_id) | *string | non | Identifiant du projet, espace de travail d'un tenant qui porte les agents, les bases de connaissances, les quotas et les secrets. |
Environment (environment) | *string | non | Environnement de la consommation, omis si nil. |
AgentID (agent_id) | *string | non | Agent consommateur, nil s'il n'y en a pas. |
SessionID (session_id) | *string | non | Session de la consommation, nil s'il n'y en a pas. |
RunID (run_id) | *string | non | Exécution consommatrice, omise si nil. |
TaskID (task_id) | *string | non | Tâche de la consommation, nil s'il n'y en a pas. |
RequestID (request_id) | *string | non | Identifiant de requête de la plateforme, omis si nil. |
ProviderRequestID (provider_request_id) | *string | non | Identifiant de requête donné par le fournisseur, omis si nil. |
TraceID (trace_id) | *string | non | Identifiant de trace W3C, 32 caractères hexadécimaux en minuscules, pour relier l'événement à une trace. |
UsageType (usage_type) | string | oui | Nature de la consommation, par exemple llm, reasoning, embeddings, tool ou gpu_local. |
Provider (provider) | string | oui | Fournisseur qui a servi l'appel, jamais vide. |
ModelID (model_id) | string | oui | Modèle de l'appel, comparé aux motifs de modèle des grilles tarifaires. |
DeploymentID (deployment_id) | *string | non | Déploiement de modèle qui tournait sur le GPU pendant l'échantillon. |
Region (region) | string | oui | Région de traitement, par exemple eu-west-1 ou on-prem-paris. |
Units (units) | map[string]float64 | oui | Unités consommées par nom, par exemple input_tokens, output_tokens, images ; au moins une. |
Pricing (pricing) | UsagePricing | oui | UsagePricing est le prix applicable au moment de l'appel. |
Cost (cost) | UsageCost | oui | UsageCost contient les coûts estimé, mesuré et facturé (chacun peut être nul). |
Status (status) | string | non | Statut du coût : estimated, measured ou reconciled. |
Source (source) | string | oui | Composant qui a émis l'événement : gateway, litellm, adapter, runtime, tool_gateway, connector_hub, sandbox, gpu_exporter ou import. |
Labels (labels) | map[string]string | non | Étiquettes de la machine sous forme de table de chaînes, qui remplacent les étiquettes actuelles, par exemple {"zone": "a"}. |
Modèle AuditEvent
AuditEvent est le contrat Audit Event v1 (contracts/v1/audit-event.schema.json).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
SchemaVersion (schema_version) | string | oui | Version du contrat 1.<mineure> ; les versions mineures restent rétrocompatibles. |
EventID (event_id) | string | oui | Identifiant de l'événement d'audit (event_id). |
Sequence (sequence) | int64 | oui | Étapes ordonnées de la bascule, sous forme d'objets libres. |
OccurredAt (occurred_at) | time.Time | oui | Date à laquelle l'action auditée a eu lieu. |
TenantID (tenant_id) | string | oui | Locataire de l'agent. default par défaut. |
Actor (actor) | json.RawMessage | oui | JSON brut de l'acteur : kind (user, service, agent, system) et id. |
Action (action) | string | oui | Action auditée sous la forme domaine.verbe, par exemple model.invoke ou agent.suspend. |
Resource (resource) | json.RawMessage | oui | JSON brut de la ressource visée : type, id et name facultatif. |
Decision (decision) | json.RawMessage | non | approve ou reject. |
Outcome (outcome) | string | oui | Résultat de l'action : success, failure ou error. |
Evidence (evidence) | json.RawMessage | non | Preuves des mesures (journaux, horodatages, références de captures...). |
Classification (classification) | string | non | Classification des données : public, internal, confidential, restricted ou secret. |
PrevHash (prev_hash) | string | oui | Empreinte SHA-256 (64 caractères hexadécimaux) de l'événement précédent de la chaîne. |
Hash (hash) | string | oui | Empreinte du contenu source, par exemple sha256:.... |
Modèle ExecutionContract
ExecutionContract est l'Execution Contract v1 d'une exécution (contracts/v1/execution-contract.schema.json).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
SchemaVersion (schema_version) | string | oui | Version du contrat 1.<mineure> ; les versions mineures restent rétrocompatibles. |
RunID (run_id) | string | oui | Identifiant de l'exécution (run_id). |
TenantID (tenant_id) | string | oui | Locataire de l'agent. default par défaut. |
ProjectID (project_id) | *string | non | Identifiant du projet, espace de travail d'un tenant qui porte les agents, les bases de connaissances, les quotas et les secrets. |
SessionID (session_id) | *string | non | Session de l'exécution, nil si absente. |
ParentRunID (parent_run_id) | *string | non | Exécution qui a lancé celle-ci comme sous-agent, nil pour une exécution racine. |
Depth (depth) | *int | non | Profondeur de l'exécution dans l'arbre des sous-agents, 0 ou plus ; nil si absente. |
Agent (agent) | json.RawMessage | oui | JSON brut de l'agent : name et version sémantique. |
Task (task) | json.RawMessage | non | JSON brut de la tâche : task_id, objective et input. |
State (state) | string | oui | État de l'exécution : pending, running, waiting_approval, waiting_input, suspended, succeeded, failed, cancelled ou timed_out. |
Steps (steps) | []json.RawMessage | oui | JSON brut des étapes, chacune avec step_id, kind et state. |
Budgets (budgets) | json.RawMessage | oui | JSON brut des budgets : limits et ce qui a été consommé (consumed). |
Errors (errors) | []json.RawMessage | non | JSON brut des erreurs rencontrées par l'exécution. |
RetryPolicy (retry_policy) | json.RawMessage | non | Politique de nouvelle tentative : max_attempts (1 ou plus, 3 par défaut) et backoff_seconds (0 ou plus, 2 par défaut). |
Resume (resume) | json.RawMessage | non | JSON brut des réglages de reprise : checkpoint_id et strategy. |
Trace (trace) | json.RawMessage | non | JSON brut du contexte de trace : trace_id, span_id, parent_span_id. |
CreatedAt (created_at) | *time.Time | non | Heure de création de l'exécution, nil si absente. |
UpdatedAt (updated_at) | *time.Time | non | Heure de dernière mise à jour de l'exécution, nil si absente. |
Modèle PolicyDecision
PolicyDecision est la partie décision du Policy Contract v1.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Allow (allow) | bool | oui | true quand la politique autorise la requête. |
DecisionID (decision_id) | string | oui | Identifiant de la décision, pour la retrouver dans la piste d'audit. |
PolicyID (policy_id) | string | non | Politique que la candidate remplace ; null pour l'ajouter à l'ensemble actif. |
PolicyVersion (policy_version) | string | non | Version de la politique qui a décidé. |
Engine (engine) | string | non | Auto (par défaut), HPA ou KEDA. |
Reasons (reasons) | []string | oui | Raisons données pour la décision. |
Obligations (obligations) | []json.RawMessage | non | Obligations ajoutées à la décision quand cette règle d'autorisation s'applique. |
EvaluatedAt (evaluated_at) | *time.Time | non | Heure de l'évaluation, nil si absente. |
Modèle PolicyContract
PolicyContract est le Policy Contract v1 (requête plus décision facultative).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
SchemaVersion (schema_version) | string | oui | Version du contrat 1.<mineure> ; les versions mineures restent rétrocompatibles. |
Request (request) | json.RawMessage | oui | JSON brut de la requête : subject, resource, action et context. |
Decision (decision) | *PolicyDecision | non | approve ou reject. |
Modèle Metadata
Metadata contient les métadonnées du manifeste (common.schema.json#/$defs/metadata).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Name (name) | string | oui | Nom stable de l'actif, de forme DNS. |
Tenant (tenant) | string | non | Identifiant court du locataire. |
Project (project) | string | non | Identifiant du projet auquel les résultats sont limités. |
Environment (environment) | string | non | Environnement cible : dev, test, staging ou prod. |
Version (version) | string | oui | Version sémantique de l'actif. |
Owner (owner) | string | oui | Responsable de l'actif, identifiant d'équipe ou adresse e-mail. |
Description (description) | string | non | Description libre, jusqu'à 4000 caractères. |
Labels (labels) | map[string]string | non | Étiquettes de la machine sous forme de table de chaînes, qui remplacent les étiquettes actuelles, par exemple {"zone": "a"}. |
Annotations (annotations) | map[string]string | non | Annotations de l'alerte ; summary et description alimentent l'incident. |
Modèle Manifest
Manifest est n'importe quel manifeste v1 (Agent, Model, Tool, Skill, Plugin, Connector, Channel).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
APIVersion (apiVersion) | string | oui | Version d'API du manifeste, enterprise-ai.io/v1 (la constante APIVersion). |
Kind (kind) | string | oui | Kind du manifeste (Agent, Model, Tool...) ; ContractForKind donne son contrat. |
Metadata (metadata) | Metadata | oui | Paires clé-valeur libres enregistrées avec l'objet et renvoyées telles quelles ; la plateforme ne les interprète jamais. |
Spec (spec) | json.RawMessage | oui | Spécification : sites (valeur par site) et health_check avec son url, tous deux obligatoires. |
Alias de type ModelManifest
ModelManifest est un Model Manifest v1.
Définition : = Manifest.
Alias de type ToolManifest
ToolManifest est un Tool Manifest v1.
Définition : = Manifest.
Modèle ChatMessage
ChatMessage est un message compatible OpenAI.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Role (role) | string | oui | Rôle de l'auteur, par exemple system, user ou assistant. |
Content (content) | any | oui | Contenu du message : une chaîne ou des parties de contenu compatibles OpenAI. |
Name (name) | string | non | Nom facultatif de l'auteur du message. |
Modèle EaiExtension
EaiExtension est le champ eai du corps des appels au gateway.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Effort (effort) | Effort | non | Effort est l'effort de raisonnement normalisé (common.schema.json#/$defs/effort), traduit pour chaque modèle par le Capability Resolver. |
AgentID (agent_id) | string | non | Agent qui fait l'appel (agent_id). |
SessionID (session_id) | string | non | Session à laquelle appartient l'appel (session_id). |
RunID (run_id) | string | non | Exécution à laquelle appartient l'appel (run_id). |
TaskID (task_id) | string | non | Tâche à laquelle appartient l'appel (task_id). |
DataClassification (data_classification) | string | non | Classification des données envoyées (data_classification), par exemple confidential. |
Purpose (purpose) | string | non | Usage de la cible. backup par défaut. |
RegionAllow (region_allow) | []string | non | Régions de traitement autorisées pour l'appel (region_allow). |
FallbackPolicy (fallback_policy) | string | non | Politique de repli appliquée par le gateway quand le modèle est indisponible (fallback_policy). |
Modèle ChatRequest
ChatRequest est le corps de POST /v1/gateway/chat/completions.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Model (model) | string | oui | Alias de modèle de la passerelle qui répond à la requête. |
Messages (messages) | []ChatMessage | oui | Conversation envoyée au modèle, dans l'ordre. |
Temperature (temperature) | *float64 | non | Température d'échantillonnage, omise si nil. |
MaxTokens (max_tokens) | *int | non | Nombre maximal de jetons de sortie ; s'il est fourni, c'est la sortie retenue pour le pire cas. |
Tools (tools) | []map[string]any | non | Outils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*). |
Stream (stream) | bool | non | Diffuser la réponse en Server-Sent Events ; ChatCompletions le force à false, ChatCompletionsStream à true. |
Eai (eai) | *EaiExtension | non | EaiExtension est le champ eai du corps des appels au gateway. |
Modèle ChatResponse
ChatResponse est une complétion de chat accompagnée des en-têtes du gateway.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Raw | json.RawMessage | oui | Corps JSON brut de la réponse. |
Model | string | oui | Modèle qui a produit la réponse. |
Content | string | oui | Texte de choices[0].message.content. |
FinishReason | string | oui | finish_reason du premier choix. |
Usage | map[string]any | oui | Compteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens. |
DecisionID | string | oui | Identifiant de la décision de politique, tiré de l'en-tête de réponse X-EAI-Decision-Id. |
CostEstimated | string | oui | Valeur de l'en-tête de réponse X-EAI-Cost-Estimated. |
CostMeasured | string | oui | Valeur de l'en-tête de réponse X-EAI-Cost-Measured. |
Modèle ChatChunk
ChatChunk est un fragment diffusé en flux.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
Raw | json.RawMessage | oui | Données JSON brutes de l'événement Server-Sent Events. |
Delta | string | oui | Texte de choices[0].delta.content dans ce fragment. |
FinishReason | string | oui | finish_reason du premier choix, vide jusqu'au dernier fragment. |
Usage | map[string]any | oui | Compteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens. |