Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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"
)