autogen_ext.tools.http#
- class HttpTool(name: str, host: str, port: int, json_schema: dict[str, Any], headers: dict[str, Any] | None = None, description: str = 'HTTP tool', path: str = '/', scheme: Literal['http', 'https'] = 'http', method: Literal['GET', 'POST', 'PUT', 'DELETE', 'PATCH'] = 'POST', return_type: Literal['text', 'json'] = 'text', timeout: float = DEFAULT_TIMEOUT_CONFIG)[Quelle]#
Bases:
BaseTool[BaseModel,Any],Component[HttpToolConfig]Ein Wrapper zur Verwendung eines HTTP-Servers als Werkzeug.
- Parameter:
name (str) – Der Name des Werkzeugs.
description (str, optional) – Eine Beschreibung des Werkzeugs.
scheme (str) – Das für die Anfrage zu verwendende Schema. Muss entweder „http“ oder „https“ sein.
host (str) – Der Host, an den die Anfrage gesendet werden soll.
port (int) – Der Port, an den die Anfrage gesendet werden soll.
path (str, optional) – Der Pfad, an den die Anfrage gesendet werden soll. Standardmäßig „/“. Kann Pfadparameter wie „/{param1}/{param2}“ enthalten, die aus Eingabeparametern vorlagenbasiert werden.
method (str, optional) – Die zu verwendende HTTP-Methode, standardmäßig POST, falls nicht angegeben. Muss eine der folgenden sein: „GET“, „POST“, „PUT“, „DELETE“, „PATCH“.
headers (dict[str, Any], optional) – Ein Dictionary von Headern, die mit der Anfrage gesendet werden sollen.
json_schema (dict[str, Any]) – Ein JSON-Schema-Objekt, das die erwarteten Parameter für das Werkzeug definiert. Pfadparameter müssen ebenfalls im Schema enthalten sein und Strings sein.
return_type (Literal["text", "json"], optional) – Der Typ der Antwort, die vom Werkzeug zurückgegeben werden soll. Standardmäßig „text“.
timeout (float, optional) – Das Timeout für HTTP-Anfragen in Sekunden. Standardmäßig 5,0.
Hinweis
Dieses Werkzeug erfordert die
http-toolErweiterung für das Paketautogen-ext.Zur Installation
pip install -U "autogen-agentchat" "autogen-ext[http-tool]"
Beispiel
Einfacher Anwendungsfall
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.messages import TextMessage from autogen_core import CancellationToken from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.http import HttpTool # Define a JSON schema for a base64 decode tool base64_schema = { "type": "object", "properties": { "value": {"type": "string", "description": "The base64 value to decode"}, }, "required": ["value"], } # Create an HTTP tool for the httpbin API base64_tool = HttpTool( name="base64_decode", description="base64 decode a value", scheme="https", host="httpbin.org", port=443, path="/base64/{value}", method="GET", json_schema=base64_schema, ) async def main(): # Create an assistant with the base64 tool model = OpenAIChatCompletionClient(model="gpt-4") assistant = AssistantAgent("base64_assistant", model_client=model, tools=[base64_tool]) # The assistant can now use the base64 tool to decode the string response = await assistant.on_messages( [TextMessage(content="Can you base64 decode the value 'YWJjZGU=', please?", source="user")], CancellationToken(), ) print(response.chat_message) asyncio.run(main())
- component_type: ClassVar[ComponentType] = 'tool'#
Der logische Typ der Komponente.
- component_provider_override: ClassVar[str | None] = 'autogen_ext.tools.http.HttpTool'#
Überschreibe den Anbieter-String für die Komponente. Dies sollte verwendet werden, um zu verhindern, dass interne Modulnamen Teil des Modulnamens werden.
- component_config_schema#
Alias von
HttpToolConfig
- _to_config() HttpToolConfig[Quelle]#
Gib die Konfiguration aus, die erforderlich wäre, um eine neue Instanz einer Komponente zu erstellen, die der Konfiguration dieser Instanz entspricht.
- Gibt zurück:
T – Die Konfiguration der Komponente.
- classmethod _from_config(config: HttpToolConfig) Self[Quelle]#
Erstelle eine neue Instanz der Komponente aus einem Konfigurationsobjekt.
- Parameter:
config (T) – Das Konfigurationsobjekt.
- Gibt zurück:
Self – Die neue Instanz der Komponente.
- async run(args: BaseModel, cancellation_token: CancellationToken) Any[Quelle]#
Führe das HTTP-Werkzeug mit den angegebenen Argumenten aus.
- Parameter:
args – Die validierten Eingabeparameter
cancellation_token – Token zum Abbrechen der Operation
- Gibt zurück:
Der Antwortkörper des HTTP-Aufrufs im JSON-Format
- Löst aus:
Exception – Wenn die Werkzeugausführung fehlschlägt