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.
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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
accumulator | ChatAccumulator | oui | Reconstruit 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
events | Iterator[Any] | oui | Ité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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
accumulator | ChatAccumulator | oui | Reconstruit 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
events | AsyncIterator[Any] | oui | Ité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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
registry | oui | Cache 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
transport | Any | oui | Transport partagé par les sous-clients d'un même client. | |
client | Any | None | non | Client parent. |
registry | ModelRegistryCache | None | None | non | Cache 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
messages | list[dict[str, Any]] | oui | Messages de chat {role, content} envoyés au modèle. | |
effort | str | Effort | None | None | non | Effort de raisonnement (none, low, medium, high, max), envoyé dans eai.effort. |
tools | list[dict[str, Any]] | None | None | non | Outils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*). |
tool_choice | Any | None | non | tool_choice OpenAI : auto, none, required ou un outil nommé. |
response_format | Any | None | non | response_format OpenAI de la réponse, par exemple un schéma JSON. |
stream | bool | False | non | Diffuse la réponse en Server-Sent Events et renvoie un ChatStream (False par défaut). |
eai | dict[str, Any] | None | None | non | Champs 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. |
precheck | bool | True | non | Vérifie l'effort auprès du registre des modèles avant l'envoi (True par défaut ; sauté avec le transport asynchrone). |
raw | bool | False | non | Renvoie une ApiResponse (données, statut, en-têtes) au lieu du corps décodé. |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
input | str | list[str] | oui | Texte ou liste de textes à vectoriser. | |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
messages | list[dict[str, Any]] | None | None | non | Messages de chat de l'appel prévu. |
effort | str | None | None | non | Effort de raisonnement à chiffrer, envoyé dans eai.effort. |
max_output_tokens | int | None | None | non | Nombre maximal de tokens de sortie pris en compte par l'estimation. |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
prompt | str | oui | Description de l'image à générer. | |
size | str | None | None | non | Taille de l'image, par exemple 1024x1024 ; la valeur par défaut du modèle si elle est omise. |
n | int | 1 | non | Nombre d'images (1 à 8, 1 par défaut). |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Identifiant du modèle à rechercher dans le registre. | |
effort | str | Effort | None | oui | Effort 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
query | str | oui | Paramètres de la chaîne de requête de la route. | |
documents | list[str] | oui | Documents à trier selon leur pertinence pour la requête. | |
top_n | int | None | None | non | Nombre de meilleurs documents à renvoyer ; tous s'il est omis. |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
input | str | oui | Texte à convertir en parole. | |
voice | str | None | None | non | Nom de voix de l'adaptateur. Par défaut : la voix par défaut de l'adaptateur. |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
audio | bytes | oui | Contenu audio à transcrire, en octets envoyés par un envoi multipart. | |
filename | str | 'audio.wav' | non | Nom du fichier audio envoyé avec la partie multipart (audio.wav par défaut). |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
prompt | str | oui | Description de la vidéo à générer. | |
**params | Any | non | Champs 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
generation_id | str | oui | Identifiant 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Seulement les grilles dont le motif de modèle correspond à cet identifiant de modèle (motif glob insensible à la casse). | |
messages | list[dict[str, Any]] | oui | Messages de chat {role, content} envoyés au modèle. | |
effort | str | Effort | None | None | non | Effort de raisonnement (none, low, medium, high, max), envoyé dans eai.effort. |
tools | list[dict[str, Any]] | None | None | non | Outils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*). |
tool_choice | Any | None | non | tool_choice OpenAI : auto, none, required ou un outil nommé. |
response_format | Any | None | non | response_format OpenAI de la réponse, par exemple un schéma JSON. |
stream | bool | False | non | Diffuse la réponse en Server-Sent Events et renvoie un AsyncChatStream (False par défaut). |
eai | dict[str, Any] | None | None | non | Champs 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. |
precheck | bool | True | non | Vérifie l'effort auprès du registre des modèles avant l'envoi (True par défaut). |
raw | bool | False | non | Renvoie une ApiResponse (données, statut, en-têtes) au lieu du corps décodé. |
**params | Any | non | Champs 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
model | str | oui | Identifiant du modèle à rechercher dans le registre. | |
effort | str | Effort | None | oui | Effort 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
effort | str | Effort | None | oui | Effort de raisonnement, normalisé dans eai.effort s'il est fourni. | |
eai | dict[str, Any] | None | oui | Champs 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.