autogen_agentchat.messages#
Dieses Modul definiert verschiedene Nachrichtentypen für die Kommunikation zwischen Agenten. Jeder Nachrichtentyp erbt entweder von der Klasse BaseChatMessage oder BaseAgentEvent und enthält spezifische Felder, die für die Art der gesendeten Nachricht relevant sind.
- AgentEvent#
Der Union-Typ aller integrierten konkreten Unterklassen von
BaseAgentEvent.alias von
Annotated[ToolCallRequestEvent|ToolCallExecutionEvent|MemoryQueryEvent|UserInputRequestedEvent|ModelClientStreamingChunkEvent|ThoughtEvent|SelectSpeakerEvent|CodeGenerationEvent|CodeExecutionEvent, FieldInfo(annotation=NoneType, required=True, discriminator=’type’)]
- pydantic model BaseMessage[Quelle]#
Bases:
BaseModel,ABCAbstrakte Basisklasse für alle Nachrichten in AgentChat.
Warnung
Wenn Sie einen neuen Nachrichtentyp erstellen möchten, erben Sie nicht von dieser Klasse. Erben Sie stattdessen von
BaseChatMessageoderBaseAgentEvent, um den Zweck des Nachrichtentyps zu verdeutlichen.JSON-Schema anzeigen
{ "title": "BaseMessage", "description": "Abstract base class for all message types in AgentChat.\n\n.. warning::\n\n If you want to create a new message type, do not inherit from this class.\n Instead, inherit from :class:`BaseChatMessage` or :class:`BaseAgentEvent`\n to clarify the purpose of the message type.", "type": "object", "properties": {} }
- abstract to_text() str[Quelle]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- dump() Mapping[str, Any][Quelle]#
Konvertiert die Nachricht in ein JSON-serialisierbares Wörterbuch.
Die Standardimplementierung verwendet die Methode
model_dump()des Pydantic-Modells, um die Nachricht in ein Wörterbuch zu konvertieren. Datumsobjekte werden automatisch in ISO-formatierte Zeichenketten konvertiert, um die JSON-Serialisierungskompatibilität sicherzustellen. Überschreiben Sie diese Methode, wenn Sie den Serialisierungsprozess anpassen oder zusätzliche Felder zum Ausgabeergebnis hinzufügen möchten.
- classmethod load(data: Mapping[str, Any]) Self[Quelle]#
Erstellt eine Nachricht aus einem Wörterbuch mit JSON-serialisierbaren Daten.
Die Standardimplementierung verwendet die Methode
model_validate()des Pydantic-Modells, um die Nachricht aus den Daten zu erstellen. Überschreiben Sie diese Methode, wenn Sie den Deserialisierungsprozess anpassen oder zusätzliche Felder zu den Eingabedaten hinzufügen möchten.
- ChatMessage#
Der Union-Typ aller integrierten konkreten Unterklassen von
BaseChatMessage. Er enthält keineStructuredMessage-Typen.alias von
Annotated[TextMessage|MultiModalMessage|StopMessage|ToolCallSummaryMessage|HandoffMessage, FieldInfo(annotation=NoneType, required=True, discriminator=’type’)]
- pydantic model BaseChatMessage[Quelle]#
Bases:
BaseMessage,ABCAbstrakte Basisklasse für Chat-Nachrichten.
Hinweis
Wenn Sie einen neuen Nachrichtentyp für die Kommunikation zwischen Agenten erstellen möchten, erben Sie von dieser Klasse oder verwenden Sie einfach
StructuredMessage, wenn Ihr Inhaltstyp eine Unterklasse von Pydantic BaseModel ist.Diese Klasse wird für Nachrichten verwendet, die zwischen Agenten in einer Chat-Konversation gesendet werden. Agenten werden erwartet, den Inhalt der Nachricht mit Modellen zu verarbeiten und eine Antwort als weitere
BaseChatMessagezurückzugeben.JSON-Schema anzeigen
{ "title": "BaseChatMessage", "description": "Abstract base class for chat messages.\n\n.. note::\n\n If you want to create a new message type that is used for agent-to-agent\n communication, inherit from this class, or simply use\n :class:`StructuredMessage` if your content type is a subclass of\n Pydantic BaseModel.\n\nThis class is used for messages that are sent between agents in a chat\nconversation. Agents are expected to process the content of the\nmessage using models and return a response as another :class:`BaseChatMessage`.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source" ] }
- Felder:
- field models_usage: RequestUsage | None = None#
Die Modellnutzung, die bei der Erstellung dieser Nachricht angefallen ist.
- abstract to_model_text() str[Quelle]#
Konvertiert den Inhalt der Nachricht in eine reine Textdarstellung. Dies wird zum Erstellen von rein textuellen Inhalten für Modelle verwendet.
Dies wird nicht zur Anzeige der Nachricht in der Konsole verwendet. Verwenden Sie hierfür
to_text().Der Unterschied zwischen dieser und
to_model_message()besteht darin, dass diese zur Konstruktion von Teilen einer Nachricht für den Modellclient verwendet wird, währendto_model_message()zur Erstellung einer vollständigen Nachricht für den Modellclient verwendet wird.
- abstract to_model_message() UserMessage[Quelle]#
Konvertiert den Nachrichteninhalt in eine
UserMessagezur Verwendung mit einem Modellclient, z.B.ChatCompletionClient.
- pydantic model BaseAgentEvent[Quelle]#
Bases:
BaseMessage,ABCBasisklasse für Agentenereignisse.
Hinweis
Wenn Sie einen neuen Nachrichtentyp zum Signalisieren beobachtbarer Ereignisse an Benutzer und Anwendungen erstellen möchten, erben Sie von dieser Klasse.
Agentenereignisse werden verwendet, um Aktionen und Gedanken von Agenten und Teams an Benutzer und Anwendungen zu signalisieren. Sie werden nicht für die Kommunikation zwischen Agenten verwendet und sollen nicht von anderen Agenten verarbeitet werden.
Sie sollten die Methode
to_text()überschreiben, wenn Sie eine benutzerdefinierte Darstellung des Inhalts bereitstellen möchten.JSON-Schema anzeigen
{ "title": "BaseAgentEvent", "description": "Base class for agent events.\n\n.. note::\n\n If you want to create a new message type for signaling observable events\n to user and application, inherit from this class.\n\nAgent events are used to signal actions and thoughts produced by agents\nand teams to user and applications. They are not used for agent-to-agent\ncommunication and are not expected to be processed by other agents.\n\nYou should override the :meth:`to_text` method if you want to provide\na custom rendering of the content.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source" ] }
- Felder:
- field models_usage: RequestUsage | None = None#
Die Modellnutzung, die bei der Erstellung dieser Nachricht angefallen ist.
- pydantic model BaseTextChatMessage[Quelle]#
Bases:
BaseChatMessage,ABCBasisklasse für alle reine Text-
BaseChatMessage-Typen. Sie enthält Implementierungen für die Methodento_text(),to_model_text()undto_model_message().Erben Sie von dieser Klasse, wenn Ihr Nachrichteninhalts-Typ eine Zeichenkette ist.
JSON-Schema anzeigen
{ "title": "BaseTextChatMessage", "description": "Base class for all text-only :class:`BaseChatMessage` types.\nIt has implementations for :meth:`to_text`, :meth:`to_model_text`,\nand :meth:`to_model_message` methods.\n\nInherit from this class if your message content type is a string.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "title": "Content", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- Felder:
- to_text() str[Quelle]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- to_model_text() str[Quelle]#
Konvertiert den Inhalt der Nachricht in eine reine Textdarstellung. Dies wird zum Erstellen von rein textuellen Inhalten für Modelle verwendet.
Dies wird nicht zur Anzeige der Nachricht in der Konsole verwendet. Verwenden Sie hierfür
to_text().Der Unterschied zwischen dieser und
to_model_message()besteht darin, dass diese zur Konstruktion von Teilen einer Nachricht für den Modellclient verwendet wird, währendto_model_message()zur Erstellung einer vollständigen Nachricht für den Modellclient verwendet wird.
- to_model_message() UserMessage[Quelle]#
Konvertiert den Nachrichteninhalt in eine
UserMessagezur Verwendung mit einem Modellclient, z.B.ChatCompletionClient.
- class StructuredContentType#
Typparameter für strukturierte Inhaltstypen.
alias von TypeVar(‘StructuredContentType’, bound=
BaseModel, covariant=True)
- pydantic model StructuredMessage[Quelle]#
Bases:
BaseChatMessage,Generic[StructuredContentType]Ein
BaseChatMessage-Typ mit einem nicht spezifizierten Inhaltstyp.Um einen neuen strukturierten Nachrichtentyp zu erstellen, spezifizieren Sie den Inhaltstyp als Unterklasse von Pydantic BaseModel.
from pydantic import BaseModel from autogen_agentchat.messages import StructuredMessage class MyMessageContent(BaseModel): text: str number: int message = StructuredMessage[MyMessageContent]( content=MyMessageContent(text="Hello", number=42), source="agent1", ) print(message.to_text()) # {"text": "Hello", "number": 42}
from pydantic import BaseModel from autogen_agentchat.messages import StructuredMessage class MyMessageContent(BaseModel): text: str number: int message = StructuredMessage[MyMessageContent]( content=MyMessageContent(text="Hello", number=42), source="agent", format_string="Hello, {text} {number}!", ) print(message.to_text()) # Hello, agent 42!
JSON-Schema anzeigen
{ "title": "StructuredMessage", "description": "A :class:`BaseChatMessage` type with an unspecified content type.\n\nTo create a new structured message type, specify the content type\nas a subclass of `Pydantic BaseModel <https://docs.pydantic.dev/latest/concepts/models/>`_.\n\n.. code-block:: python\n\n from pydantic import BaseModel\n from autogen_agentchat.messages import StructuredMessage\n\n\n class MyMessageContent(BaseModel):\n text: str\n number: int\n\n\n message = StructuredMessage[MyMessageContent](\n content=MyMessageContent(text=\"Hello\", number=42),\n source=\"agent1\",\n )\n\n print(message.to_text()) # {\"text\": \"Hello\", \"number\": 42}\n\n.. code-block:: python\n\n from pydantic import BaseModel\n from autogen_agentchat.messages import StructuredMessage\n\n\n class MyMessageContent(BaseModel):\n text: str\n number: int\n\n\n message = StructuredMessage[MyMessageContent](\n content=MyMessageContent(text=\"Hello\", number=42),\n source=\"agent\",\n format_string=\"Hello, {text} {number}!\",\n )\n\n print(message.to_text()) # Hello, agent 42!", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "$ref": "#/$defs/BaseModel" }, "format_string": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Format String" } }, "$defs": { "BaseModel": { "properties": {}, "title": "BaseModel", "type": "object" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- field content: StructuredContentType [Required]#
Der Inhalt der Nachricht. Muss eine Unterklasse von Pydantic BaseModel sein.
- field format_string: str | None = None#
(Experimentell) Eine optionale Formatierungszeichenkette zur Darstellung des Inhalts in einem für Menschen lesbaren Format. Die Formatierungszeichenkette kann die Felder des Inhaltsmodells als Platzhalter verwenden. Wenn das Inhaltsmodell beispielsweise ein Feld name hat, können Sie {name} in der Formatierungszeichenkette verwenden, um den Wert dieses Feldes einzufügen. Die Formatierungszeichenkette wird in der Methode
to_text()verwendet, um eine menschenlesbare Darstellung der Nachricht zu erstellen. Diese Einstellung ist experimentell und wird sich in Zukunft ändern.
- to_text() str[Quelle]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- to_model_text() str[Quelle]#
Konvertiert den Inhalt der Nachricht in eine reine Textdarstellung. Dies wird zum Erstellen von rein textuellen Inhalten für Modelle verwendet.
Dies wird nicht zur Anzeige der Nachricht in der Konsole verwendet. Verwenden Sie hierfür
to_text().Der Unterschied zwischen dieser und
to_model_message()besteht darin, dass diese zur Konstruktion von Teilen einer Nachricht für den Modellclient verwendet wird, währendto_model_message()zur Erstellung einer vollständigen Nachricht für den Modellclient verwendet wird.
- to_model_message() UserMessage[Quelle]#
Konvertiert den Nachrichteninhalt in eine
UserMessagezur Verwendung mit einem Modellclient, z.B.ChatCompletionClient.
- pydantic model HandoffMessage[Quelle]#
Bases:
BaseTextChatMessageEine Nachricht, die eine Übergabe einer Konversation an einen anderen Agenten anfordert.
JSON-Schema anzeigen
{ "title": "HandoffMessage", "description": "A message requesting handoff of a conversation to another agent.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "title": "Content", "type": "string" }, "target": { "title": "Target", "type": "string" }, "context": { "default": [], "items": { "discriminator": { "mapping": { "AssistantMessage": "#/$defs/AssistantMessage", "FunctionExecutionResultMessage": "#/$defs/FunctionExecutionResultMessage", "SystemMessage": "#/$defs/SystemMessage", "UserMessage": "#/$defs/UserMessage" }, "propertyName": "type" }, "oneOf": [ { "$ref": "#/$defs/SystemMessage" }, { "$ref": "#/$defs/UserMessage" }, { "$ref": "#/$defs/AssistantMessage" }, { "$ref": "#/$defs/FunctionExecutionResultMessage" } ] }, "title": "Context", "type": "array" }, "type": { "const": "HandoffMessage", "default": "HandoffMessage", "title": "Type", "type": "string" } }, "$defs": { "AssistantMessage": { "description": "Assistant message are sampled from the language model.", "properties": { "content": { "anyOf": [ { "type": "string" }, { "items": { "$ref": "#/$defs/FunctionCall" }, "type": "array" } ], "title": "Content" }, "thought": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Thought" }, "source": { "title": "Source", "type": "string" }, "type": { "const": "AssistantMessage", "default": "AssistantMessage", "title": "Type", "type": "string" } }, "required": [ "content", "source" ], "title": "AssistantMessage", "type": "object" }, "FunctionCall": { "properties": { "id": { "title": "Id", "type": "string" }, "arguments": { "title": "Arguments", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "id", "arguments", "name" ], "title": "FunctionCall", "type": "object" }, "FunctionExecutionResult": { "description": "Function execution result contains the output of a function call.", "properties": { "content": { "title": "Content", "type": "string" }, "name": { "title": "Name", "type": "string" }, "call_id": { "title": "Call Id", "type": "string" }, "is_error": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Is Error" } }, "required": [ "content", "name", "call_id" ], "title": "FunctionExecutionResult", "type": "object" }, "FunctionExecutionResultMessage": { "description": "Function execution result message contains the output of multiple function calls.", "properties": { "content": { "items": { "$ref": "#/$defs/FunctionExecutionResult" }, "title": "Content", "type": "array" }, "type": { "const": "FunctionExecutionResultMessage", "default": "FunctionExecutionResultMessage", "title": "Type", "type": "string" } }, "required": [ "content" ], "title": "FunctionExecutionResultMessage", "type": "object" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" }, "SystemMessage": { "description": "System message contains instructions for the model coming from the developer.\n\n.. note::\n\n Open AI is moving away from using 'system' role in favor of 'developer' role.\n See `Model Spec <https://cdn.openai.com/spec/model-spec-2024-05-08.html#definitions>`_ for more details.\n However, the 'system' role is still allowed in their API and will be automatically converted to 'developer' role\n on the server side.\n So, you can use `SystemMessage` for developer messages.", "properties": { "content": { "title": "Content", "type": "string" }, "type": { "const": "SystemMessage", "default": "SystemMessage", "title": "Type", "type": "string" } }, "required": [ "content" ], "title": "SystemMessage", "type": "object" }, "UserMessage": { "description": "User message contains input from end users, or a catch-all for data provided to the model.", "properties": { "content": { "anyOf": [ { "type": "string" }, { "items": { "anyOf": [ { "type": "string" }, {} ] }, "type": "array" } ], "title": "Content" }, "source": { "title": "Source", "type": "string" }, "type": { "const": "UserMessage", "default": "UserMessage", "title": "Type", "type": "string" } }, "required": [ "content", "source" ], "title": "UserMessage", "type": "object" } }, "required": [ "source", "content", "target" ] }
- Felder:
- field context: List[Annotated[SystemMessage | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]] = []#
Der Modellkontext, der an den Zielagenten übergeben werden soll.
- pydantic model MultiModalMessage[source]#
Bases:
BaseChatMessageEine multimodale Nachricht.
JSON-Schema anzeigen
{ "title": "MultiModalMessage", "description": "A multimodal message.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "items": { "anyOf": [ { "type": "string" }, {} ] }, "title": "Content", "type": "array" }, "type": { "const": "MultiModalMessage", "default": "MultiModalMessage", "title": "Type", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- to_model_text(image_placeholder: str | None = '[image]') str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung. Wenn ein Bild vorhanden ist, wird es standardmäßig durch den Bildplatzhalter ersetzt, andernfalls wird es als Base64-String dargestellt, wenn es auf None gesetzt ist.
- to_text(iterm: bool = False) str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole gerendert und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zur Erstellung von rein textbasierten Inhalten für Modelle verwendet. Für
BaseChatMessage-Typen verwenden Sie stattdessento_model_text().
- to_model_message() UserMessage[source]#
Konvertiert den Nachrichteninhalt in eine
UserMessagezur Verwendung mit einem Modellclient, z.B.ChatCompletionClient.
- pydantic model StopMessage[source]#
Bases:
BaseTextChatMessageEine Nachricht, die die Beendigung einer Konversation anfordert.
JSON-Schema anzeigen
{ "title": "StopMessage", "description": "A message requesting stop of a conversation.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "title": "Content", "type": "string" }, "type": { "const": "StopMessage", "default": "StopMessage", "title": "Type", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- Felder:
- pydantic model TextMessage[source]#
Bases:
BaseTextChatMessageEine Textnachricht mit rein textbasiertem Inhalt.
JSON-Schema anzeigen
{ "title": "TextMessage", "description": "A text message with string-only content.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "title": "Content", "type": "string" }, "type": { "const": "TextMessage", "default": "TextMessage", "title": "Type", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- Felder:
- pydantic model ToolCallExecutionEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das die Ausführung von Tool-Aufrufen signalisiert.
JSON-Schema anzeigen
{ "title": "ToolCallExecutionEvent", "description": "An event signaling the execution of tool calls.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "items": { "$ref": "#/$defs/FunctionExecutionResult" }, "title": "Content", "type": "array" }, "type": { "const": "ToolCallExecutionEvent", "default": "ToolCallExecutionEvent", "title": "Type", "type": "string" } }, "$defs": { "FunctionExecutionResult": { "description": "Function execution result contains the output of a function call.", "properties": { "content": { "title": "Content", "type": "string" }, "name": { "title": "Name", "type": "string" }, "call_id": { "title": "Call Id", "type": "string" }, "is_error": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Is Error" } }, "required": [ "content", "name", "call_id" ], "title": "FunctionExecutionResult", "type": "object" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- Felder:
- field content: List[FunctionExecutionResult] [Required]#
Die Ergebnisse der Tool-Aufrufe.
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model ToolCallRequestEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das eine Anforderung zur Verwendung von Tools signalisiert.
JSON-Schema anzeigen
{ "title": "ToolCallRequestEvent", "description": "An event signaling a request to use tools.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "items": { "$ref": "#/$defs/FunctionCall" }, "title": "Content", "type": "array" }, "type": { "const": "ToolCallRequestEvent", "default": "ToolCallRequestEvent", "title": "Type", "type": "string" } }, "$defs": { "FunctionCall": { "properties": { "id": { "title": "Id", "type": "string" }, "arguments": { "title": "Arguments", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "id", "arguments", "name" ], "title": "FunctionCall", "type": "object" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- field content: List[FunctionCall] [Required]#
Die Tool-Aufrufe.
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model ToolCallSummaryMessage[source]#
Bases:
BaseTextChatMessageEine Nachricht, die die Zusammenfassung der Ergebnisse von Tool-Aufrufen signalisiert.
JSON-Schema anzeigen
{ "title": "ToolCallSummaryMessage", "description": "A message signaling the summary of tool call results.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "title": "Content", "type": "string" }, "type": { "const": "ToolCallSummaryMessage", "default": "ToolCallSummaryMessage", "title": "Type", "type": "string" }, "tool_calls": { "items": { "$ref": "#/$defs/FunctionCall" }, "title": "Tool Calls", "type": "array" }, "results": { "items": { "$ref": "#/$defs/FunctionExecutionResult" }, "title": "Results", "type": "array" } }, "$defs": { "FunctionCall": { "properties": { "id": { "title": "Id", "type": "string" }, "arguments": { "title": "Arguments", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "id", "arguments", "name" ], "title": "FunctionCall", "type": "object" }, "FunctionExecutionResult": { "description": "Function execution result contains the output of a function call.", "properties": { "content": { "title": "Content", "type": "string" }, "name": { "title": "Name", "type": "string" }, "call_id": { "title": "Call Id", "type": "string" }, "is_error": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Is Error" } }, "required": [ "content", "name", "call_id" ], "title": "FunctionExecutionResult", "type": "object" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content", "tool_calls", "results" ] }
- Felder:
- field tool_calls: List[FunctionCall] [Required]#
Die durchgeführten Tool-Aufrufe.
- field results: List[FunctionExecutionResult] [Required]#
Die Ergebnisse der Tool-Aufrufe.
- pydantic model MemoryQueryEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das die Ergebnisse von Speicherabfragen signalisiert.
JSON-Schema anzeigen
{ "title": "MemoryQueryEvent", "description": "An event signaling the results of memory queries.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "items": { "$ref": "#/$defs/MemoryContent" }, "title": "Content", "type": "array" }, "type": { "const": "MemoryQueryEvent", "default": "MemoryQueryEvent", "title": "Type", "type": "string" } }, "$defs": { "MemoryContent": { "description": "A memory content item.", "properties": { "content": { "anyOf": [ { "type": "string" }, { "format": "binary", "type": "string" }, { "type": "object" }, {} ], "title": "Content" }, "mime_type": { "anyOf": [ { "$ref": "#/$defs/MemoryMimeType" }, { "type": "string" } ], "title": "Mime Type" }, "metadata": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "title": "Metadata" } }, "required": [ "content", "mime_type" ], "title": "MemoryContent", "type": "object" }, "MemoryMimeType": { "description": "Supported MIME types for memory content.", "enum": [ "text/plain", "application/json", "text/markdown", "image/*", "application/octet-stream" ], "title": "MemoryMimeType", "type": "string" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- Felder:
- field content: List[MemoryContent] [Required]#
Die Ergebnisse der Speicherabfrage.
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model UserInputRequestedEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das signalisiert, dass der Benutzer-Proxy die Eingabe des Benutzers angefordert hat. Wird vor dem Aufruf des Eingabe-Callbacks veröffentlicht.
JSON-Schema anzeigen
{ "title": "UserInputRequestedEvent", "description": "An event signaling a that the user proxy has requested user input. Published prior to invoking the input callback.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "request_id": { "title": "Request Id", "type": "string" }, "content": { "const": "", "default": "", "title": "Content", "type": "string" }, "type": { "const": "UserInputRequestedEvent", "default": "UserInputRequestedEvent", "title": "Type", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "request_id" ] }
- field content: Literal[''] = ''#
Leerer Inhalt zur Kompatibilität mit Konsumenten, die ein Content-Feld erwarten.
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model ModelClientStreamingChunkEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das einen Textausgabe-Chunk von einem Modellclient im Streaming-Modus signalisiert.
JSON-Schema anzeigen
{ "title": "ModelClientStreamingChunkEvent", "description": "An event signaling a text output chunk from a model client in streaming mode.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "title": "Content", "type": "string" }, "full_message_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Full Message Id" }, "type": { "const": "ModelClientStreamingChunkEvent", "default": "ModelClientStreamingChunkEvent", "title": "Type", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- field full_message_id: str | None = None#
Optionaler Verweis auf die vollständige Nachricht, die nach den Chunks kommen kann. Dies ermöglicht es den Konsumenten des Streams, Chunks mit der endgültigen abgeschlossenen Nachricht zu korrelieren.
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model ThoughtEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das den Denkprozess eines Modells signalisiert. Es wird verwendet, um die vom Denkmodell generierten Argumentationstoken oder den vom Funktionsaufruf generierten zusätzlichen Textinhalt zu kommunizieren.
JSON-Schema anzeigen
{ "title": "ThoughtEvent", "description": "An event signaling the thought process of a model.\nIt is used to communicate the reasoning tokens generated by a reasoning model,\nor the extra text content generated by a function call.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "title": "Content", "type": "string" }, "type": { "const": "ThoughtEvent", "default": "ThoughtEvent", "title": "Type", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model SelectSpeakerEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das die Auswahl von Sprechern für eine Konversation signalisiert.
JSON-Schema anzeigen
{ "title": "SelectSpeakerEvent", "description": "An event signaling the selection of speakers for a conversation.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "content": { "items": { "type": "string" }, "title": "Content", "type": "array" }, "type": { "const": "SelectSpeakerEvent", "default": "SelectSpeakerEvent", "title": "Type", "type": "string" } }, "$defs": { "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "content" ] }
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model CodeGenerationEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das ein Code-Generierungsereignis signalisiert.
JSON-Schema anzeigen
{ "title": "CodeGenerationEvent", "description": "An event signaling code generation event.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "retry_attempt": { "title": "Retry Attempt", "type": "integer" }, "content": { "title": "Content", "type": "string" }, "code_blocks": { "items": { "$ref": "#/$defs/CodeBlock" }, "title": "Code Blocks", "type": "array" }, "type": { "const": "CodeGenerationEvent", "default": "CodeGenerationEvent", "title": "Type", "type": "string" } }, "$defs": { "CodeBlock": { "properties": { "code": { "title": "Code", "type": "string" }, "language": { "title": "Language", "type": "string" } }, "required": [ "code", "language" ], "title": "CodeBlock", "type": "object" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "retry_attempt", "content", "code_blocks" ] }
- Felder:
- to_text() str[source]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().
- pydantic model CodeExecutionEvent[source]#
Bases:
BaseAgentEventEin Ereignis, das ein Code-Ausführungsereignis signalisiert.
JSON-Schema anzeigen
{ "title": "CodeExecutionEvent", "description": "An event signaling code execution event.", "type": "object", "properties": { "id": { "title": "Id", "type": "string" }, "source": { "title": "Source", "type": "string" }, "models_usage": { "anyOf": [ { "$ref": "#/$defs/RequestUsage" }, { "type": "null" } ], "default": null }, "metadata": { "additionalProperties": { "type": "string" }, "default": {}, "title": "Metadata", "type": "object" }, "created_at": { "format": "date-time", "title": "Created At", "type": "string" }, "retry_attempt": { "title": "Retry Attempt", "type": "integer" }, "result": { "$ref": "#/$defs/CodeResult" }, "type": { "const": "CodeExecutionEvent", "default": "CodeExecutionEvent", "title": "Type", "type": "string" } }, "$defs": { "CodeResult": { "properties": { "exit_code": { "title": "Exit Code", "type": "integer" }, "output": { "title": "Output", "type": "string" } }, "required": [ "exit_code", "output" ], "title": "CodeResult", "type": "object" }, "RequestUsage": { "properties": { "prompt_tokens": { "title": "Prompt Tokens", "type": "integer" }, "completion_tokens": { "title": "Completion Tokens", "type": "integer" } }, "required": [ "prompt_tokens", "completion_tokens" ], "title": "RequestUsage", "type": "object" } }, "required": [ "source", "retry_attempt", "result" ] }
- Felder:
- Feld result: CodeResult [Erforderlich]#
Ergebnis der Code-Ausführung
- to_text() str[Quelle]#
Konvertiert den Nachrichteninhalt in eine reine Textdarstellung, die in der Konsole angezeigt und vom Benutzer oder von Bedingungen inspiziert werden kann. Dies wird nicht zum Erstellen von rein textuellen Inhalten für Modelle verwendet. Verwenden Sie für
BaseChatMessage-Typen stattdessento_model_text().