Bagikan melalui


Gambaran Umum Alat

Agent Framework mendukung berbagai jenis alat yang memperluas kemampuan agen. Alat memungkinkan agen berinteraksi dengan sistem eksternal, menjalankan kode, mencari data, dan banyak lagi.

Jenis Alat

Jenis Alat Deskripsi
Alat Fungsi Kode kustom yang dapat dipanggil agen selama percakapan
Persetujuan Alat Persetujuan human-in-the-loop untuk pemanggilan alat
Penerjemah Kode Menjalankan kode di lingkungan terkotakpasir
Pencarian File Mencari melalui file yang diunggah
Pencarian Web Cari informasi di web
Alat MCP yang Dihosting Alat MCP yang dihosting oleh Azure AI Foundry
Alat MCP Lokal Alat MCP yang berjalan secara lokal atau di server kustom

Matriks Dukungan Penyedia

Penyedia OpenAI dan Azure OpenAI masing-masing menawarkan beberapa jenis klien dengan kemampuan alat yang berbeda. Klien Azure OpenAI mencerminkan setara OpenAI mereka.

Jenis Alat Penyelesaian Obrolan Responses to Asisten Azure AI Foundry Anthropic Ollama GitHub Copilot Studio Copilot
Alat Fungsi
Persetujuan Alat
Penerjemah Kode
Pencarian File
Pencarian Web
Alat MCP yang Dihosting
Alat MCP Lokal

Nota

Kolom Penyelesaian Obrolan, Respons, dan Asisten berlaku untuk OpenAI dan Azure OpenAI — varian Azure mencerminkan dukungan alat yang sama dengan mitra OpenAI mereka.

Matriks Dukungan Penyedia

Penyedia OpenAI dan Azure OpenAI masing-masing menawarkan beberapa jenis klien dengan kemampuan alat yang berbeda. Klien Azure OpenAI mencerminkan setara OpenAI mereka.

Jenis Alat Penyelesaian Obrolan Responses to Asisten Azure AI Foundry Anthropic Agen Claude Ollama GitHub Copilot
Alat Fungsi
Persetujuan Alat
Penerjemah Kode
Pencarian File
Pencarian Web
Pembuatan Gambar
Alat MCP yang Dihosting
Alat MCP Lokal

Nota

Kolom Penyelesaian Obrolan, Respons, dan Asisten berlaku untuk OpenAI dan Azure OpenAI — varian Azure mencerminkan dukungan alat yang sama dengan mitra OpenAI mereka. Alat MCP lokal berfungsi dengan penyedia apa pun yang mendukung alat fungsi.

Menggunakan Agen sebagai Alat Fungsi

Anda dapat menggunakan agen sebagai alat fungsi untuk agen lain, mengaktifkan komposisi agen dan alur kerja yang lebih canggih. Agen dalam dikonversi ke alat fungsi dan disediakan ke agen luar, yang kemudian dapat memanggilnya sesuai kebutuhan.

AIAgent Panggil .AsAIFunction() untuk mengonversinya ke alat fungsi yang dapat disediakan ke agen lain:

// Create the inner agent with its own tools
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)]);

// Create the main agent and provide the inner agent as a function tool
AIAgent agent = new AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
     .GetChatClient("gpt-4o-mini")
     .AsAIAgent(instructions: "You are a helpful assistant.", tools: [weatherAgent.AsAIFunction()]);

// The main agent can now call the weather agent as a tool
Console.WriteLine(await agent.RunAsync("What is the weather like in Amsterdam?"));

Panggil .as_tool() agen untuk mengonversinya ke alat fungsi yang dapat disediakan ke agen lain:

from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential

# Create the inner agent with its own tools
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
)

# Create the main agent and provide the inner agent as a function tool
main_agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
    instructions="You are a helpful assistant.",
    tools=weather_agent.as_tool()
)

# The main agent can now call the weather agent as a tool
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:

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"
)

Langkah selanjutnya