Aller au contenu principal

enterprise_ai.llm.streaming

Source : sdks/python/src/enterprise_ai/llm/streaming/__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.

Modèle ServerSentEvent​

Un événement SSE. data est le texte brut ; :meth:json le décode.

Champs :

NomTypeRequisDescription
eventstrnonType d'événement tiré du champ event: (message par défaut).
datastrnonTexte brut des lignes data de l'événement, joint par des retours à la ligne ; json() le décode.
idstr | NonenonDernier identifiant d'événement tiré du champ id:, ou None ; sert de Last-Event-ID pour reprendre.
retryint | NonenonDélai de reconnexion en millisecondes tiré du champ retry:, ou None.

Attributs :

NomTypeRequisDescription
is_doneboolouiVrai quand data est le terminateur [DONE].

ServerSentEvent.json​

json() -> Any

Décode data en JSON (None pour des données vides).

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

Retour : Any. Valeur JSON décodée, ou None pour des données vides.

Classe SSEDecoder​

Décodeur incrémental : on lui fournit des lignes, il assemble les événements complets.

Constructeur SSEDecoder​

SSEDecoder() -> None

Crée un décodeur sans événement en attente.

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

SSEDecoder.feed​

feed(line: str) -> ServerSentEvent | None

Traite une ligne (sans son saut de ligne). Renvoie un événement quand une ligne vide en termine un.

NomTypeDéfautRequisDescription
linestrouiUne ligne du flux d'événements ; les lignes de commentaire qui commencent par : sont ignorées.

Retour : ServerSentEvent \| None. Un ServerSentEvent : un événement SSE. data est le texte brut ; :meth:json le décode.

SSEDecoder.flush​

flush() -> ServerSentEvent | None

Émet un dernier événement qui n'est pas suivi d'une ligne vide.

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

Retour : ServerSentEvent \| None. Un ServerSentEvent : un événement SSE. data est le texte brut ; :meth:json le décode.

Modèle ChatAccumulator​

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

Champs :

NomTypeRequisDescription
contentstrnonContenu texte fusionné jusqu'ici.
reasoningstrnonTexte de raisonnement fusionné à partir des deltas reasoning_content.
finish_reasonstr | NonenonDernier finish_reason vu dans les fragments, par exemple stop ou tool_calls ; None jusqu'à la fin.
usagedict[str, Any]nonCompteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens.
tool_callsdict[int, dict[str, Any]]nonAppels d'outils en cours de reconstruction, par index : id, type et function avec name et arguments concaténés.
modelstr | NonenonModèle indiqué par le dernier fragment qui en portait un, ou None.

ChatAccumulator.add​

add(chunk: dict[str, Any]) -> str

Fusionne un fragment et renvoie le delta de texte qu'il portait.

NomTypeDéfautRequisDescription
chunkdict[str, Any]ouiDict chat.completion.chunk décodé.

Retour : str. Contenu texte porté par les deltas du fragment, vide s'il n'en avait pas.

ChatAccumulator.completion​

completion() -> dict[str, Any]

Équivalent chat.completion non diffusé en flux.

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

Retour : dict[str, Any]. Dict avec object chat.completion, model, un choix contenant message() et finish_reason, et usage.

ChatAccumulator.message​

message() -> dict[str, Any]

Message final de l'assistant au format OpenAI.

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

Retour : dict[str, Any]. Dict {role: assistant, content} avec tool_calls triés par index quand le modèle a appelé des outils.

Fonctions​

iter_sse​

iter_sse(lines: Iterable[str]) -> Iterator[ServerSentEvent]

Analyse un itérable de lignes de texte en événements.

NomTypeDéfautRequisDescription
linesIterable[str]ouiItérable de lignes ou de blocs de texte ; un bloc de plusieurs lignes est découpé.

Retour : Iterator[ServerSentEvent]. Un ServerSentEvent : un événement SSE. data est le texte brut ; :meth:json le décode.

aiter_sse​

async aiter_sse(lines: AsyncIterator[str]) -> AsyncIterator[ServerSentEvent]

Variante asynchrone de :func:iter_sse.

NomTypeDéfautRequisDescription
linesAsyncIterator[str]ouiItérateur asynchrone de lignes ou de blocs de texte ; un bloc de plusieurs lignes est découpé.

Retour : AsyncIterator[ServerSentEvent]. Un ServerSentEvent : un événement SSE. data est le texte brut ; :meth:json le décode.

chat_chunks​

chat_chunks(events: Iterable[ServerSentEvent]) -> Iterator[dict[str, Any]]

Décode les charges chat.completion.chunk compatibles OpenAI jusqu'à [DONE].

NomTypeDéfautRequisDescription
eventsIterable[ServerSentEvent]ouiItérable de ServerSentEvent issus d'un flux de complétion de chat.

Retour : Iterator[dict[str, Any]]. Itérateur des dicts de fragments décodés ; s'arrête à [DONE] et ignore les événements vides.

achat_chunks​

async achat_chunks(events: AsyncIterator[ServerSentEvent]) -> AsyncIterator[dict[str, Any]]

Variante asynchrone de :func:chat_chunks.

NomTypeDéfautRequisDescription
eventsAsyncIterator[ServerSentEvent]ouiItérateur asynchrone de ServerSentEvent issus d'un flux de complétion de chat.

Retour : AsyncIterator[dict[str, Any]]. Itérateur asynchrone des dicts de fragments décodés ; s'arrête à [DONE] et ignore les événements vides.