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.
Tutorial ini menunjukkan kepada Anda cara menggunakan agen sebagai alat fungsi, sehingga satu agen dapat memanggil agen lain sebagai alat.
Prasyarat
Untuk prasyarat dan menginstal paket NuGet, lihat langkah Membuat dan menjalankan agen sederhana dalam tutorial ini.
Membuat dan menggunakan agen sebagai alat fungsional
Anda dapat menggunakan AIAgent sebagai alat fungsi dengan memanggil .AsAIFunction() pada agen dan menyediakannya sebagai alat untuk agen lain. Ini memungkinkan Anda membuat agen dan membangun alur kerja yang lebih canggih.
Pertama, buat alat fungsi sebagai metode C#, dan hiasi dengan deskripsi jika diperlukan. Alat ini akan digunakan oleh agen Anda yang diekspos sebagai fungsi.
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 sebuah AIAgent yang menggunakan alat fungsi.
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using OpenAI;
AIAgent weatherAgent = new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new AzureCliCredential())
.GetChatClient("gpt-4o-mini")
.AsAIAgent(
instructions: "You answer questions about the weather.",
name: "WeatherAgent",
description: "An agent that answers questions about the weather.",
tools: [AIFunctionFactory.Create(GetWeather)]);
Sekarang, buat agen utama dan sediakan weatherAgent sebagai alat fungsi dengan memanggil .AsAIFunction() untuk mengonversi weatherAgent ke alat fungsi.
AIAgent agent = new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new AzureCliCredential())
.GetChatClient("gpt-4o-mini")
.AsAIAgent(instructions: "You are a helpful assistant who responds in French.", tools: [weatherAgent.AsAIFunction()]);
Panggil agen utama seperti biasa. Sekarang dapat memanggil agen cuaca sebagai alat, dan diharapkan merespons dalam bahasa Prancis.
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));
Tutorial ini menunjukkan kepada Anda cara menggunakan agen sebagai alat fungsi, sehingga satu agen dapat memanggil agen lain sebagai alat.
Prasyarat
Untuk prasyarat dan penginstalan paket, lihat langkah Buat dan jalankan agen sederhana dalam tutorial ini.
Buat dan gunakan agen sebagai alat untuk fungsi
Anda dapat menggunakan ChatAgent sebagai alat fungsi dengan memanggil .as_tool() pada agen dan menyediakannya sebagai alat untuk agen lain. Ini memungkinkan Anda membuat agen dan membangun alur kerja yang lebih canggih.
Pertama, buat fungsi alat yang akan digunakan oleh agen Anda yang ditampilkan sebagai fungsi.
from typing import Annotated
from pydantic import Field
def get_weather(
location: Annotated[str, Field(description="The location to get the weather for.")],
) -> str:
"""Get the weather for a given location."""
return f"The weather in {location} is cloudy with a high of 15°C."
Buat ChatAgent yang menggunakan fungsi alat.
from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential
weather_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
name="WeatherAgent",
description="An agent that answers questions about the weather.",
instructions="You answer questions about the weather.",
tools=get_weather
)
Sekarang, buat agen utama dan sediakan weather_agent sebagai alat fungsi dengan memanggil .as_tool() untuk mengonversi weather_agent ke alat fungsi.
main_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
instructions="You are a helpful assistant who responds in French.",
tools=weather_agent.as_tool()
)
Panggil agen utama seperti biasa. Sekarang dapat memanggil agen cuaca sebagai alat, dan diharapkan merespons dalam bahasa Prancis.
result = await main_agent.run("What is the weather like in Amsterdam?")
print(result.text)
Anda juga dapat menyesuaikan nama alat, deskripsi, dan nama argumen saat mengonversi agen menjadi alat:
# Convert agent to tool with custom parameters
weather_tool = weather_agent.as_tool(
name="WeatherLookup",
description="Look up weather information for any location",
arg_name="query",
arg_description="The weather query or location"
)
main_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
instructions="You are a helpful assistant who responds in French.",
tools=weather_tool
)