Delen via


Stap 2: Hulpmiddelen toevoegen

Met hulpprogramma's kan uw agent aangepaste functies aanroepen, zoals het ophalen van weergegevens, het uitvoeren van query's op een database of het aanroepen van een API.

Definieer een hulpprogramma als elke methode met een [Description] kenmerk:

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.";

Maak een agent met het hulpprogramma:

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)]);

De agent roept uw hulpprogramma automatisch aan wanneer dit relevant is:

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

Aanbeveling

Bekijk het volledige voorbeeld voor het volledige runnable bestand.

Definieer een hulpmiddel met de @tool decorator:

# 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."

Maak een agent met het hulpprogramma:

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

Aanbeveling

Bekijk het volledige voorbeeld voor het volledige runnable bestand.

Volgende stappen

Ga dieper in: