Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Araçlar, aracınızın hava durumu verilerini getirme, veritabanını sorgulama veya API çağırma gibi özel işlevleri çağırmasına olanak sağlar.
Bir aracı özniteliği olan herhangi bir [Description] yöntem olarak tanımlayın:
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.";
Aracı kullanarak bir ajan oluşturun:
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)]);
Aracı, uygun olduğunda aracınızı otomatik olarak çalıştırır.
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));
Tip
Çalıştırılabilir dosyanın tamamı için tam örneğe bakın.
Bir aracı @tool dekoratör ile tanımlayın.
# 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."
Aracıyı araçla oluşturun:
agent = client.as_agent(
name="WeatherAgent",
instructions="You are a helpful weather agent. Use the get_weather tool to answer questions.",
tools=get_weather,
)
Tip
Çalıştırılabilir dosyanın tamamı için tam örneğe bakın.
Sonraki Adımlar
Daha derine gidin:
- Araçlara genel bakış — tüm kullanılabilir araç türleri hakkında bilgi edinin
- İşlev araçları — gelişmiş işlev aracı desenleri
- Araç onayı — araç çağrıları için insan müdahalesi