Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Alat memungkinkan agen Anda memanggil fungsi kustom — seperti mengambil data cuaca, mengkueri database, atau memanggil API.
Tentukan alat sebagai metode apa pun yang memiliki atribut [Description].
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.";
Buat agen dengan alat:
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)]);
Agen akan secara otomatis memanggil alat Anda jika relevan:
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));
Petunjuk / Saran
Lihat sampel lengkap untuk file lengkap yang dapat dijalankan.
Definisikan alat dengan @tool dekorator:
# 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."
Buat agen dengan alat:
agent = client.as_agent(
name="WeatherAgent",
instructions="You are a helpful weather agent. Use the get_weather tool to answer questions.",
tools=get_weather,
)
Petunjuk / Saran
Lihat sampel lengkap untuk file lengkap yang dapat dijalankan.
Langkah selanjutnya
Masuk lebih dalam:
- Gambaran umum alat — pelajari tentang semua jenis alat yang tersedia
- Alat fungsi — pola alat fungsi tingkat lanjut
- Persetujuan alat — human-in-the-loop untuk panggilan alat