autogen_core.tool_agent#

class ToolAgent(beschreibung: str, werkzeuge: List[Tool])[Quelle]#

Bases: RoutedAgent

Ein Tool-Agent akzeptiert direkte Nachrichten vom Typ FunctionCall, führt das angeforderte Werkzeug mit den bereitgestellten Argumenten aus und gibt das Ergebnis als Nachrichten vom Typ FunctionExecutionResult zurück.

Parameter:
  • beschreibung (str) – Die Beschreibung des Agenten.

  • werkzeuge (List[Tool]) – Die Liste der Werkzeuge, die der Agent ausführen kann.

property werkzeuge: List[Tool]#
async handle_function_call(nachricht: FunctionCall, ctx: MessageContext) FunctionExecutionResult[Quelle]#

Verarbeitet eine FunctionCall-Nachricht, indem das angeforderte Werkzeug mit den bereitgestellten Argumenten ausgeführt wird.

Parameter:
Gibt zurück:

FunctionExecutionResult – Das Ergebnis der Funktionsausführung.

Löst aus:
exception ToolException(call_id: str, content: str, name: str)[Quelle]#

Bases: BaseException

call_id: str#
content: str#
name: str#
exception ToolNotFoundException(call_id: str, content: str, name: str)[Quelle]#

Bases: ToolException

exception InvalidToolArgumentsException(call_id: str, content: str, name: str)[Quelle]#

Bases: ToolException

exception ToolExecutionException(call_id: str, content: str, name: str)[Quelle]#

Bases: ToolException

async tool_agent_caller_loop(caller: BaseAgent | AgentRuntime, tool_agent_id: AgentId, model_client: ChatCompletionClient, input_nachrichten: List[Annotated[SystemMessage | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], tool_schema: List[ToolSchema] | List[Tool], cancellation_token: CancellationToken | None = None, caller_source: str = 'assistant') List[Annotated[SystemMessage | UserMessage | AssistantMessage | FunctionExecutionResultMessage, FieldInfo(annotation=NoneType, required=True, discriminator='type')]][Quelle]#

Startet eine Caller-Schleife für einen Tool-Agenten. Diese Funktion sendet abwechselnd Nachrichten an den Tool-Agenten und den Modellclient, bis der Modellclient keine weiteren Tool-Aufrufe mehr generiert.

Parameter:
  • tool_agent_id (AgentId) – Die Agenten-ID des Tool-Agenten.

  • input_nachrichten (List[LLMMessage]) – Die Liste der Eingabenachrichten.

  • model_client (ChatCompletionClient) – Der Modellclient, der für die Modell-API verwendet werden soll.

  • tool_schema (List[Tool | ToolSchema]) – Die Liste der Werkzeuge, die das Modell verwenden kann.

Gibt zurück:

List[LLMMessage] – Die Liste der in der Caller-Schleife erstellten Ausgabenachrichten.