Eszközök áttekintése

Az Agent Framework számos különböző típusú eszközt támogat, amelyek kibővítik az ügynök képességeit. Az eszközök lehetővé teszik az ügynökök számára a külső rendszerekkel való interakciót, a kód végrehajtását, a keresési adatokat és egyebeket.

Eszköztípusok

Eszköz típusa Description
Függvényeszközök Egyéni kód, amelyet az ügynökök beszélgetések során hívhatnak meg
Eszköz jóváhagyása Emberi jóváhagyás a ciklusban eszközhívásokhoz
Kódértelmező Kód végrehajtása tesztkörnyezetben
fájlkeresés Keresés feltöltött fájlokon keresztül
Webes keresés Információk keresése a weben
Üzemeltetett MCP-eszközök A Microsoft Foundry által üzemeltetett MCP-eszközök
Helyi MCP-eszközök Helyileg vagy egyéni kiszolgálókon futó MCP-eszközök
Öntödei eszközkészletek Egy Foundry-projektben felügyelt üzemeltetett eszközkonfigurációk nevesített, verziószámozott csomagjai

Szolgáltatói támogatási mátrix

Az OpenAI és az Azure OpenAI-szolgáltatók mindegyike több ügyféltípust kínál különböző eszközképességekkel. Az Azure OpenAI-ügyfelek az OpenAI-ekvivalenseiket tükrözik.

Eszköz típusa Csevegés befejezése Válaszok Asszisztensek Öntöde Anthropic Ollama GitHub Copilot Copilot Studio
Függvényeszközök
Eszköz jóváhagyása
Kódértelmező
fájlkeresés
Webes keresés
Üzemeltetett MCP-eszközök
Helyi MCP-eszközök

Megjegyzés:

A Csevegés befejezése, a Válaszok és az Asszisztensek oszlop az OpenAI-ra és az Azure OpenAI-ra is vonatkozik – az Azure-változatok ugyanazt az eszköztámogatást tükrözik, mint az OpenAI-társaik.

Szolgáltatói támogatási mátrix

Az OpenAI és az Azure OpenAI-szolgáltatók mindegyike több ügyféltípust kínál különböző eszközképességekkel. Az Azure OpenAI-ügyfelek az OpenAI-ekvivalenseiket tükrözik.

Eszköz típusa Csevegés befejezése Válaszok Asszisztensek Öntöde Anthropic Claude ügynök Ollama GitHub Copilot
Függvényeszközök
Eszköz jóváhagyása
Kódértelmező
fájlkeresés
Webes keresés
Képgenerálás
Üzemeltetett MCP-eszközök
Helyi MCP-eszközök

Megjegyzés:

A Csevegés befejezése, a Válaszok és az Asszisztensek oszlop az OpenAI-ra és az Azure OpenAI-ra is vonatkozik – az Azure-változatok ugyanazt az eszköztámogatást tükrözik, mint az OpenAI-társaik. A helyi MCP-eszközök minden olyan szolgáltatóval együttműködnek, amely támogatja a függvényeszközöket.

Ügynök használata függvényeszközként

Egy ügynök függvényeszközként használható egy másik ügynökhöz, lehetővé téve az ügynökök összetételét és a fejlettebb munkafolyamatokat. A belső ügynök függvényeszközzé alakul, és a külső ügynökhöz kerül, amely szükség szerint meghívhatja.

Meghívhat .AsAIFunction() egy olyan AIAgent függvényeszközt, amely egy másik ügynöknek adható:

// Create the inner agent with its own tools
AIAgent weatherAgent = new AIProjectClient(
    new Uri("<your-foundry-project-endpoint>"),
    new DefaultAzureCredential())
     .AsAIAgent(
        model: "gpt-4o-mini",
        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 AIProjectClient(
    new Uri("<your-foundry-project-endpoint>"),
    new DefaultAzureCredential())
     .AsAIAgent(
        model: "gpt-4o-mini",
        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?"));

Figyelmeztetés

DefaultAzureCredential a fejlesztéshez kényelmes, de a termelési környezetben gondos megfontolást igényel. Éles környezetben fontolja meg egy adott hitelesítő adat (pl. ManagedIdentityCredential) használatát a késési problémák elkerülése, a hitelesítő adatok nem szándékos próbálgatásának és a tartalék mechanizmusokból eredő esetleges biztonsági kockázatok elkerülése érdekében.

Hívja meg .as_tool() az ügynököt, hogy átalakítsa egy másik ügynöknek adható függvényeszközzé:

import os
from agent_framework.openai import OpenAIChatCompletionClient
from azure.identity import AzureCliCredential

# Create the inner agent with its own tools
weather_agent = OpenAIChatCompletionClient(
    model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
    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 = OpenAIChatCompletionClient(
    model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
    azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
    api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
    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)

Az eszköz nevét, leírását és argumentumnevét testre is szabhatja:

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

Következő lépések