Freigeben über


Schritt 2: Hinzufügen von Tools

Tools ermöglichen es Ihrem Agent, benutzerdefinierte Funktionen aufzurufen, z. B. Wetterdaten abzurufen, eine Datenbank abzurufen oder eine API aufzurufen.

Definieren Sie ein Tool als eine beliebige Methode mit einem [Description] Attribut:

using System.ComponentModel;

[Description("Get the weather for a given location.")]
static string GetWeather([Description("The location to get the weather for.")] string location)
    => $"The weather in {location} is cloudy with a high of 15°C.";

Erstellen Sie einen Agent mit dem Tool:

using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;

var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")
    ?? throw new InvalidOperationException("Set AZURE_OPENAI_ENDPOINT");
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "gpt-4o-mini";

AIAgent agent = new AzureOpenAIClient(new Uri(endpoint), new AzureCliCredential())
    .GetChatClient(deploymentName)
    .AsAIAgent(instructions: "You are a helpful assistant.", tools: [AIFunctionFactory.Create(GetWeather)]);

Der Agent ruft Ihr Tool automatisch an, wenn relevant:

Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));

Tipp

Sehen Sie sich das vollständige Beispiel für die vollständige ausgeführte Datei an.

Definieren Sie ein Tool mit dem @tool Dekorateur:

# NOTE: approval_mode="never_require" is for sample brevity.
# Use "always_require" in production for user confirmation before tool execution.
@tool(approval_mode="never_require")
def get_weather(
    location: Annotated[str, Field(description="The location to get the weather for.")],
) -> str:
    """Get the weather for a given location."""
    conditions = ["sunny", "cloudy", "rainy", "stormy"]
    return f"The weather in {location} is {conditions[randint(0, 3)]} with a high of {randint(10, 30)}°C."

Erstellen Sie einen Agent mit dem Tool:

agent = client.as_agent(
    name="WeatherAgent",
    instructions="You are a helpful weather agent. Use the get_weather tool to answer questions.",
    tools=get_weather,
)

Tipp

Sehen Sie sich das vollständige Beispiel für die vollständige ausgeführte Datei an.

Nächste Schritte

Gehen Sie tiefer: