Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Miután elkészítette az ügynököt, meg kell üzemeltetnie, hogy a felhasználók és más ügynökök kapcsolatba léphessenek vele.
Üzemeltetési beállítások
| Lehetőség | Description | Legjobb |
|---|---|---|
| A2A protokoll | Ügynökök felfedése az Ügynökről ügynökre protokollon keresztül | Többügynök-rendszerek |
| OpenAI-Compatible végpontok | Ügynökök felfedése csevegőüzenetek vagy válaszok API-kkal | OpenAI-kompatibilis ügyfelek |
| Azure Functions (Durable) | Ügynökök futtatása tartós Azure Functionsként | Kiszolgáló nélküli, hosszan futó feladatok |
| AG-UI Protokoll | Webes AI-ügynökalkalmazások létrehozása | Webes előtérrendszerek |
Üzemeltetés a ASP.NET Core-ban
Az Ügynök keretrendszer olyan üzemeltetési kódtárakat biztosít, amelyek lehetővé teszik az AI-ügynökök integrálását ASP.NET Core-alkalmazásokba. Ezek a kódtárak leegyszerűsítik az ügynökök regisztrálását, konfigurálását és felfedését különböző protokollokon keresztül.
Az ügynökök áttekintésébenAIAgent leírtak szerint az ügynök-keretrendszer alapvető fogalma. Meghatároz egy "LLM-burkolót", amely feldolgozza a felhasználói bemeneteket, döntéseket hoz, eszközöket hív meg, és további műveleteket hajt végre és válaszokat hoz létre. Az AI-ügynökök ASP.NET Core-alkalmazásból való felfedése nem triviális. Az üzemeltetési kódtárak ezt úgy oldják meg, hogy egy függőséginjektálási tárolóban regisztrálják az AI-ügynököket, így feloldhatja és használhatja őket az alkalmazásszolgáltatásokban. Emellett lehetővé teszik az ügynökfüggőségek, például az eszközök és a munkamenet-tárolók kezelését ugyanabból a tárolóból. Az ügynökök az alkalmazásinfrastruktúra mellett üzemeltethetők, az általuk használt protokolltól függetlenül. Hasonlóképpen, a munkafolyamatok üzemeltethetők, és kihasználhatják az alkalmazás közös infrastruktúráját.
Alapvető tárhely-szolgáltatási könyvtár
A Microsoft.Agents.AI.Hosting kódtár az AI-ügynökök ASP.NET Core-ban való üzemeltetésének alapja. Bővítményeket biztosít az AI-ügynökök és munkafolyamatok regisztrálásához IHostApplicationBuilder és konfigurálásához. Az ASP.NET Core-ban a IHostApplicationBuilder az alapvető típus, amely az üzemeltetett alkalmazások és szolgáltatások készítőjeként működik, és kezeli a konfigurációt, a naplózást, az élettartamot stb.
Mielőtt ügynököket vagy munkafolyamatokat konfigurál, regisztrálja a IChatClient egy függőséginjektáló tárolóba. Az alábbi példákban a(z) chat-model név alatt kulcsos singletonként van regisztrálva.
// endpoint is of 'https://<your-own-foundry-endpoint>.openai.azure.com/' format
// deploymentName is 'gpt-4o-mini' for example
IChatClient chatClient = new AzureOpenAIClient(
new Uri(endpoint),
new DefaultAzureCredential())
.GetChatClient(deploymentName)
.AsIChatClient();
builder.Services.AddSingleton(chatClient);
AddAIAgent
AI-ügynök regisztrálása függőséginjektálással:
var pirateAgent = builder.AddAIAgent(
"pirate",
instructions: "You are a pirate. Speak like a pirate",
description: "An agent that speaks like a pirate.",
chatClientServiceKey: "chat-model");
A AddAIAgent() metódus egy IHostedAgentBuilder-t ad vissza, amely bővítő metódusokat biztosít az ügynök konfigurálásához. Például hozzáadhat eszközöket az ügynökhöz:
var pirateAgent = builder.AddAIAgent("pirate", instructions: "You are a pirate. Speak like a pirate")
.WithAITool(new MyTool()); // MyTool is a custom type derived from AITool
A munkamenet-tárolót is konfigurálhatja (a beszélgetési adatok tárolásához):
var pirateAgent = builder.AddAIAgent("pirate", instructions: "You are a pirate. Speak like a pirate")
.WithInMemorySessionStore();
AddWorkflow
Több ügynököt koordináló munkafolyamatok regisztrálása. A munkafolyamat lényegében egy "gráf", ahol minden csomópont egy AIAgent, és az ügynökök kommunikálnak egymással.
Ebben a példában két ügynök egymás után működik. A felhasználói bemenetet először elküldi a rendszer agent-1-hez, amely választ hoz létre, és elküldi azt agent-2-nek. A munkafolyamat ezután a végső választ adja ki. Létezik egy BuildConcurrent metódus is, amely egyidejű ügynök-munkafolyamatot hoz létre.
builder.AddAIAgent("agent-1", instructions: "you are agent 1!");
builder.AddAIAgent("agent-2", instructions: "you are agent 2!");
var workflow = builder.AddWorkflow("my-workflow", (sp, key) =>
{
var agent1 = sp.GetRequiredKeyedService<AIAgent>("agent-1");
var agent2 = sp.GetRequiredKeyedService<AIAgent>("agent-2");
return AgentWorkflowBuilder.BuildSequential(key, [agent1, agent2]);
});
Munkafolyamat megjelenítése AIAgentként
Ha protokollintegrációkat (például A2A vagy OpenAI) szeretne használni egy munkafolyamattal, konvertálja azt önálló ügynökké. A munkafolyamatok jelenleg önmagukban nem biztosítanak hasonló integrációs képességeket, ezért erre a konverziós lépésre van szükség:
var workflowAsAgent = builder
.AddWorkflow("science-workflow", (sp, key) => { ... })
.AddAsAIAgent(); // Now the workflow can be used as an agent
Megvalósítás részletei
Az üzemeltetési kódtárak protokolladapterként működnek, amelyek hidat képeznek a külső kommunikációs protokollok és az Ügynök keretrendszer belső AIAgent implementációja között. Ha üzemeltetési integrációs kódtárat használ, a kódtár lekéri a regisztrált AIAgent adatokat a függőséginjektálásból, protokollspecifikus köztes szoftverrel csomagolja a bejövő kérések és kimenő válaszok lefordításához, és meghívja a AIAgent kérések feldolgozására. Ez az architektúra az ügynök implementációját protokollfüggetlenné teszi.
Használja például a ASP.NET Core üzemeltetési kódtárat az A2A protokolladapterrel:
// Register the agent
var pirateAgent = builder.AddAIAgent("pirate",
instructions: "You are a pirate. Speak like a pirate",
description: "An agent that speaks like a pirate.");
// Expose via a protocol (e.g. A2A)
builder.Services.AddA2AServer();
var app = builder.Build();
app.MapA2AServer();
app.Run();
Jótanács
A kiszolgáló nélküli üzemeltetési példákért tekintse meg a Durable Azure Functions-mintákat .
Telepítse az Azure Functions üzemeltetési csomagját:
pip install agent-framework-azurefunctions --pre
Ügynök létrehozása:
from agent_framework.azure import AgentFunctionApp, AzureOpenAIChatClient
from azure.identity import AzureCliCredential
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
# 1. Instantiate the agent with the chosen deployment and instructions.
def _create_agent() -> Any:
"""Create the Joker agent."""
return AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
name="Joker",
instructions="You are good at telling jokes.",
)
Regisztrálja az ügynököt a(z) AgentFunctionApp segítségével:
# 2. Register the agent with AgentFunctionApp so Azure Functions exposes the required triggers.
app = AgentFunctionApp(agents=[_create_agent()], enable_health_check=True, max_poll_retries=50)
Helyi futtatás az Azure Functions Core Tools használatával:
func start
Ezután hívja meg ezt:
curl -X POST http://localhost:7071/api/agents/Joker/run \
-H "Content-Type: text/plain" \
-d "Tell me a short joke about cloud computing."
Jótanács
További mintákért tekintse meg a teljes futtatható fájl teljes mintáját , valamint a mintákat üzemeltető Azure Functionst .
Következő lépések
Mélyedjen el:
- A2A-protokoll – ügynökök ismertetése és használata az A2A protokollon keresztül
- Azure Functions – kiszolgáló nélküli ügynök üzemeltetése
- AG-UI Protocol – webalapú ügynök felhasználói felületei
- Foundry Hosted Agents-dokumentumok – az Azure AI Foundry üzemeltetett ügynökeinek ismertetése
- Foundry Hosted Agents minta (Python) – futtasson egy end-to-end Agent Framework hosztolt ügynök mintát