Aller au contenu principal

enterprise_ai.llm.gateway

Source : sdks/python/src/enterprise_ai/llm/gateway/__init__.py. Retour à l'index de la référence du SDK Python.

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 EffortAdjustedWarning​

Émis quand l'effort demandé est ramené à un autre niveau par la politique du modèle.

UserWarning

Classe ChatStream​

Itérateur de dicts chat.completion.chunk ; :attr:accumulator contient le message fusionné.

Attributs :

NomTypeRequisDescription
accumulatorChatAccumulatorouiReconstruit le message de l'assistant (contenu, raisonnement, appels d'outils, consommation) à partir des fragments.

Constructeur ChatStream​

ChatStream(events: Iterator[Any]) -> None

Enveloppe un itérateur de Server-Sent Events en un flux de fragments de chat.

NomTypeDéfautRequisDescription
eventsIterator[Any]ouiItérateur des Server-Sent Events de /v1/gateway/chat/completions.

ChatStream.final​

final() -> dict[str, Any]

Consomme le reste du flux et renvoie la complétion.

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

Retour : dict[str, Any]. Complétion reconstruite par l'accumulateur, au format chat.completion.

ChatStream.text​

text() -> Iterator[str]

Ne produit que les deltas de texte.

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

Retour : Iterator[str]. Itérateur des deltas de texte non vides ; les fragments sont quand même fusionnés dans accumulator.

Classe AsyncChatStream​

Équivalent asynchrone de :class:ChatStream.

Attributs :

NomTypeRequisDescription
accumulatorChatAccumulatorouiReconstruit le message de l'assistant (contenu, raisonnement, appels d'outils, consommation) à partir des fragments.

Constructeur AsyncChatStream​

AsyncChatStream(events: AsyncIterator[Any]) -> None

Enveloppe un itérateur asynchrone de Server-Sent Events en un flux de fragments de chat.

NomTypeDéfautRequisDescription
eventsAsyncIterator[Any]ouiItérateur asynchrone des Server-Sent Events de /v1/gateway/chat/completions.

AsyncChatStream.final​

async final() -> dict[str, Any]

Consomme le reste du flux et renvoie la complétion.

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

Retour : dict[str, Any]. Complétion reconstruite par l'accumulateur, au format chat.completion.

Classe GatewayClient​

LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.

Resource

Attributs :

NomTypeRequisDescription
registryouiCache du registre des modèles utilisé par precheck, ou None.

Constructeur GatewayClient​

GatewayClient(transport: Any, client: Any = None, registry: ModelRegistryCache | None = None) -> None

Crée le sous-client de la passerelle ; avec un registry, chat vérifie l'effort avant l'envoi.

NomTypeDéfautRequisDescription
transportAnyouiTransport partagé par les sous-clients d'un même client.
clientAnyNonenonClient parent.
registryModelRegistryCache | NoneNonenonCache du registre des modèles utilisé pour la vérification de l'effort côté client, ou None pour la sauter.

GatewayClient.chat​

chat(model: str, messages: list[dict[str, Any]], effort: str | Effort | None = None, tools: list[dict[str, Any]] | None = None, tool_choice: Any = None, response_format: Any = None, stream: bool = False, eai: dict[str, Any] | None = None, precheck: bool = True, raw: bool = False, **params: Any) -> Any

Appeler un modèle de conversation. Complétion de conversation compatible OpenAI à travers chaque contrôle de la passerelle ; avec stream: true la réponse est en Server-Sent Events, et les garde-fous de coût sont vérifiés pendant le flux. Demande un principal de tenant (403 platform_only) dont l'identifiant porte le scope models:invoke.

Route : /v1/gateway/chat/completions (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
messageslist[dict[str, Any]]ouiMessages de chat {role, content} envoyés au modèle.
effortstr | Effort | NoneNonenonEffort de raisonnement (none, low, medium, high, max), envoyé dans eai.effort.
toolslist[dict[str, Any]] | NoneNonenonOutils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*).
tool_choiceAnyNonenontool_choice OpenAI : auto, none, required ou un outil nommé.
response_formatAnyNonenonresponse_format OpenAI de la réponse, par exemple un schéma JSON.
streamboolFalsenonDiffuse la réponse en Server-Sent Events et renvoie un ChatStream (False par défaut).
eaidict[str, Any] | NoneNonenonChamps de l'extension eai (agent_id, session_id, run_id, task_id, data_classification, purpose, region_allow, fallback_policy) ; un champ inconnu lève ValueError.
precheckboolTruenonVérifie l'effort auprès du registre des modèles avant l'envoi (True par défaut ; sauté avec le transport asynchrone).
rawboolFalsenonRenvoie une ApiResponse (données, statut, en-têtes) au lieu du corps décodé.
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Appeler un modèle de conversation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.embeddings​

embeddings(model: str, input: str | list[str], **params: Any) -> Any

Calculer des embeddings. Embeddings compatibles OpenAI à travers les mêmes contrôles que la conversation (kill switches, listes d'autorisation, classification, DLP sur chaque entrée, garde-fous de coût, décision de politique, audit). Le modèle doit déclarer la capacité embeddings et, si dimensions est fourni, la prendre en charge (422 capability_not_supported, 422 embedding_dimensions_invalid). Demande un principal de tenant avec le scope models:invoke.

Route : /v1/gateway/embeddings (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
inputstr | list[str]ouiTexte ou liste de textes à vectoriser.
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Calculer des embeddings ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.estimate​

estimate(model: str, messages: list[dict[str, Any]] | None = None, effort: str | None = None, max_output_tokens: int | None = None, **params: Any) -> Any

Estimer un appel à la passerelle. Exécute chaque contrôle préalable de la passerelle sans appeler le modèle et renvoie le modèle résolu, l'identifiant de décision, les jetons d'entrée, les jetons de sortie maximaux, l'estimateur, le coût estimé, la limite de coût, les replis, les avertissements et le plan de contexte. Une requête refusée par un contrôle répond la même erreur que l'appel réel. Demande un principal de tenant avec le scope models:invoke.

Route : /v1/gateway/estimate (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
messageslist[dict[str, Any]] | NoneNonenonMessages de chat de l'appel prévu.
effortstr | NoneNonenonEffort de raisonnement à chiffrer, envoyé dans eai.effort.
max_output_tokensint | NoneNonenonNombre maximal de tokens de sortie pris en compte par l'estimation.
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Estimer un appel à la passerelle ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.images​

images(model: str, prompt: str, size: str | None = None, n: int = 1, **params: Any) -> Any

Générer des images. Génération d'images par l'adaptateur d'images au format OpenAI. Le prompt passe par la DLP du tenant (422 dlp_blocked), le kill switch, la classification, l'isolation des secrets et l'audit s'appliquent, et le coût est réservé selon le nombre d'images ; les champs texte de la réponse (revised_prompt) sont aussi analysés. Demande un principal de tenant avec le scope models:invoke. Sans adaptateur configuré : 501 adapter_not_available.

Route : /v1/gateway/images/generations (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
promptstrouiDescription de l'image à générer.
sizestr | NoneNonenonTaille de l'image, par exemple 1024x1024 ; la valeur par défaut du modèle si elle est omise.
nint1nonNombre d'images (1 à 8, 1 par défaut).
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Générer des images ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.precheck​

precheck(model: str, effort: str | Effort | None) -> EffortResolution | None

Vérification de l'effort côté client à partir du registre (None si le modèle n'est pas dans le registre).

NomTypeDéfautRequisDescription
modelstrouiIdentifiant du modèle à rechercher dans le registre.
effortstr | Effort | NoneouiEffort de raisonnement demandé ; None saute la vérification.

Retour : EffortResolution \| None. Un EffortResolution : résultat de :func:resolve_effort.

GatewayClient.rerank​

rerank(model: str, query: str, documents: list[str], top_n: int | None = None, **params: Any) -> Any

Réordonner des documents. Réordonne des documents par rapport à une query à travers les mêmes contrôles que la conversation (DLP sur la requête, garde-fous de coût, décision de politique, audit). Le modèle doit déclarer la capacité rerank (422 capability_not_supported). Demande un principal de tenant avec le scope models:invoke.

Route : /v1/gateway/rerank (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
querystrouiParamètres de la chaîne de requête de la route.
documentslist[str]ouiDocuments à trier selon leur pertinence pour la requête.
top_nint | NoneNonenonNombre de meilleurs documents à renvoyer ; tous s'il est omis.
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Réordonner des documents ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.speech​

speech(model: str, input: str, voice: str | None = None, **params: Any) -> Any

Synthétiser de la parole à partir d'un texte. Synthèse vocale par l'adaptateur TTS, au format OpenAI audio/speech ; l'audio est renvoyé tel quel (audio/*). Le kill switch du tenant, la classification des données et l'habilitation de l'appelant, l'isolation des secrets et l'audit s'appliquent, et le coût est réservé sur les quotas selon le nombre de caractères. Demande un principal de tenant avec le scope models:invoke. Sans adaptateur configuré : 501 adapter_not_available ; adaptateur injoignable : 502 upstream_error.

Route : /v1/gateway/audio/speech (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
inputstrouiTexte à convertir en parole.
voicestr | NoneNonenonNom de voix de l'adaptateur. Par défaut : la voix par défaut de l'adaptateur.
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Synthétiser de la parole à partir d'un texte ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.transcribe​

transcribe(model: str, audio: bytes, filename: str = 'audio.wav', **params: Any) -> Any

Transcrire un fichier audio. Transcription par l'adaptateur STT, au format OpenAI audio/transcriptions. Demande un principal de tenant avec le scope models:invoke.

Route : /v1/gateway/audio/transcriptions (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
audiobytesouiContenu audio à transcrire, en octets envoyés par un envoi multipart.
filenamestr'audio.wav'nonNom du fichier audio envoyé avec la partie multipart (audio.wav par défaut).
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Transcrire un fichier audio ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.video​

video(model: str, prompt: str, **params: Any) -> Any

Lancer une génération de vidéo. Lance une tâche de génération de vidéo sur l'adaptateur vidéo, avec le même kill switch, la même classification, la même DLP du prompt, la même réservation de coût et le même audit que les autres adaptateurs ; lisez la tâche avec GET /v1/gateway/video/generations/{job_id}. Demande un principal de tenant avec le scope models:invoke. Sans adaptateur configuré : 501 adapter_not_available.

Route : /v1/gateway/video/generations (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
promptstrouiDescription de la vidéo à générer.
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Lancer une génération de vidéo ».

Erreurs levées : les erreurs typées du transport (Erreurs).

GatewayClient.video_status​

video_status(generation_id: str) -> Any

Lire une tâche de génération de vidéo. État et résultat d'une tâche de génération de vidéo, lus auprès de l'adaptateur vidéo avec le même kill switch et le même audit que les autres appels d'adaptateur. Demande un principal de tenant (403 platform_only sinon) dont l'identifiant porte le scope models:invoke. Sans adaptateur vidéo configuré : 501 adapter_not_available.

Route : /v1/gateway/video/generations/{job_id} (GET).

NomTypeDéfautRequisDescription
generation_idstrouiIdentifiant de la tâche renvoyé par POST /v1/gateway/video/generations.

Retour : Any. Réponse JSON décodée de l'opération « Lire une tâche de génération de vidéo ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe AsyncGatewayClient​

LLM et passerelle de modèles. Fournisseurs de modèles, registre des modèles, règles de routage et passerelle de modèles (Model Gateway) : le seul chemin par lequel agents et applications appellent les modèles.

GatewayClient

AsyncGatewayClient.chat​

async chat(model: str, messages: list[dict[str, Any]], effort: str | Effort | None = None, tools: list[dict[str, Any]] | None = None, tool_choice: Any = None, response_format: Any = None, stream: bool = False, eai: dict[str, Any] | None = None, precheck: bool = True, raw: bool = False, **params: Any) -> Any

Appeler un modèle de conversation. Complétion de conversation compatible OpenAI à travers chaque contrôle de la passerelle ; avec stream: true la réponse est en Server-Sent Events, et les garde-fous de coût sont vérifiés pendant le flux. Demande un principal de tenant (403 platform_only) dont l'identifiant porte le scope models:invoke.

Route : /v1/gateway/chat/completions (POST).

NomTypeDéfautRequisDescription
modelstrouiSeulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse).
messageslist[dict[str, Any]]ouiMessages de chat {role, content} envoyés au modèle.
effortstr | Effort | NoneNonenonEffort de raisonnement (none, low, medium, high, max), envoyé dans eai.effort.
toolslist[dict[str, Any]] | NoneNonenonOutils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*).
tool_choiceAnyNonenontool_choice OpenAI : auto, none, required ou un outil nommé.
response_formatAnyNonenonresponse_format OpenAI de la réponse, par exemple un schéma JSON.
streamboolFalsenonDiffuse la réponse en Server-Sent Events et renvoie un AsyncChatStream (False par défaut).
eaidict[str, Any] | NoneNonenonChamps de l'extension eai (agent_id, session_id, run_id, task_id, data_classification, purpose, region_allow, fallback_policy) ; un champ inconnu lève ValueError.
precheckboolTruenonVérifie l'effort auprès du registre des modèles avant l'envoi (True par défaut).
rawboolFalsenonRenvoie une ApiResponse (données, statut, en-têtes) au lieu du corps décodé.
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Appeler un modèle de conversation ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AsyncGatewayClient.precheck_async​

async precheck_async(model: str, effort: str | Effort | None) -> EffortResolution | None

Vérification asynchrone de l'effort à l'aide du sous-client des modèles.

NomTypeDéfautRequisDescription
modelstrouiIdentifiant du modèle à rechercher dans le registre.
effortstr | Effort | NoneouiEffort de raisonnement demandé ; None saute la vérification.

Retour : EffortResolution \| None. Un EffortResolution : résultat de :func:resolve_effort.

Fonctions​

build_eai​

build_eai(effort: str | Effort | None, eai: dict[str, Any] | None) -> dict[str, Any] | None

Fusionne l'extension eai en normalisant l'effort.

NomTypeDéfautRequisDescription
effortstr | Effort | NoneouiEffort de raisonnement, normalisé dans eai.effort s'il est fourni.
eaidict[str, Any] | NoneouiChamps eai fournis par l'appelant ; seuls les champs eai connus sont acceptés.

Retour : dict[str, Any] \| None. Dict eai fusionné, ou None s'il est vide ; lève ValueError sur un champ inconnu.

Erreurs levées : ValueError.