Aller au contenu principal

enterprise_ai.runtime.bus

Source : sdks/python/src/enterprise_ai/runtime/bus.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 BusMessage​

Un message sur le bus.

Champs :

NomTypeRequisDescription
contentstrouiTexte du message.
session_idstr | NonenonSession à laquelle appartient le message, ou None.
channelstrnonCanal d'où vient la conversation.
senderstrnonAuteur du message (user par défaut).
metadatadict[str, Any]nonPaires clé-valeur libres enregistrées avec l'objet et renvoyées telles quelles ; la plateforme ne les interprète jamais.

BusMessage.from_json​

from_json(data: bytes) -> BusMessage

Reconstruit un message à partir de son encodage JSON (l'inverse de to_json).

NomTypeDéfautRequisDescription
databytesouiOctets JSON contenant les champs du message.

Retour : BusMessage. Un BusMessage : un message sur le bus.

BusMessage.to_json​

to_json() -> bytes

Encode tous les champs du message en JSON.

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

Retour : bytes. Octets JSON en UTF-8 ; les valeurs qui ne sont pas des types JSON sont écrites en chaînes.

Classe MessageBus​

Bus asyncio dans le processus, avec une file entrante, une file sortante et des abonnés.

Attributs :

NomTypeRequisDescription
inboundasyncio.Queue[BusMessage]ouiasyncio.Queue des messages des canaux vers la boucle d'agent.
outboundasyncio.Queue[BusMessage]ouiasyncio.Queue des messages de la boucle d'agent vers les canaux.

Constructeur MessageBus​

MessageBus() -> None

Crée un bus avec des files entrante et sortante vides et aucun abonné.

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

MessageBus.consume_inbound​

async consume_inbound(timeout: float | None = None) -> BusMessage | None

Prochain message entrant, ou None après timeout secondes.

NomTypeDéfautRequisDescription
timeoutfloat | NoneNonenonAttente maximale en secondes ; None attend l'arrivée d'un message.

Retour : BusMessage \| None. Un BusMessage : un message sur le bus.

MessageBus.get_inbound_nowait​

get_inbound_nowait() -> BusMessage | None

Prend le prochain message entrant sans attendre.

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

Retour : BusMessage \| None. Un BusMessage : un message sur le bus.

MessageBus.publish_inbound​

async publish_inbound(message: BusMessage) -> None

Place un message dans la file entrante, puis appelle les abonnés inbound.

NomTypeDéfautRequisDescription
messageBusMessageouiMessage envoyé par un canal à l'agent.

Retour : None.

MessageBus.publish_outbound​

async publish_outbound(message: BusMessage) -> None

Place un message dans la file sortante, puis appelle les abonnés outbound.

NomTypeDéfautRequisDescription
messageBusMessageouiMessage envoyé par l'agent aux canaux.

Retour : None.

MessageBus.subscribe​

subscribe(topic: str, handler: Handler) -> Callable[[], None]

Appelle handler pour chaque message de topic (inbound ou outbound). Renvoie une fonction de désabonnement.

NomTypeDéfautRequisDescription
topicstrouiSujet à suivre : inbound ou outbound.
handlerHandlerouiFonction appelée avec chaque BusMessage ; elle peut être une fonction coroutine, qui est attendue.

Retour : Callable[[], None]. Fonction sans argument qui supprime l'abonnement.

Classe NatsMessageBus​

Même API adossée aux sujets NATS <prefix>.inbound et <prefix>.outbound.

MessageBus

Attributs :

NomTypeRequisDescription
prefixouiPréfixe des sujets NATS.
urlouiAdresse du serveur NATS.

Constructeur NatsMessageBus​

NatsMessageBus(url: str = 'nats://127.0.0.1:4222', prefix: str = 'eai.agent') -> None

Crée un bus adossé à NATS ; demande l'extra nats (nats-py), sinon lève ImportError. Appelez connect() avant usage.

NomTypeDéfautRequisDescription
urlstr'nats://127.0.0.1:4222'nonAdresse du serveur NATS ; par défaut, un serveur local.
prefixstr'eai.agent'nonPréfixe des sujets NATS (eai.agent par défaut).

Erreurs levées : ImportError.

NatsMessageBus.close​

async close() -> None

Vide et ferme la connexion NATS si elle est ouverte.

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

Retour : None.

NatsMessageBus.connect​

async connect() -> NatsMessageBus

Se connecte à NATS et relaie les messages de <prefix>.inbound vers la file entrante locale.

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

Retour : NatsMessageBus. Un NatsMessageBus : même API adossée aux sujets NATS <prefix>.inbound et <prefix>.outbound.

NatsMessageBus.publish_inbound​

async publish_inbound(message: BusMessage) -> None

Publie un message sur le sujet <prefix>.inbound ; il atteint la file par le relais.

NomTypeDéfautRequisDescription
messageBusMessageouiMessage envoyé par un canal à l'agent.

Retour : None.

NatsMessageBus.publish_outbound​

async publish_outbound(message: BusMessage) -> None

Publie un message sur le sujet <prefix>.outbound, puis appelle les abonnés outbound locaux.

NomTypeDéfautRequisDescription
messageBusMessageouiMessage envoyé par l'agent aux canaux.

Retour : None.