Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft Agent Framework unterstützt das Erstellen von Agents, die den Azure AI Foundry Agents-Dienst verwenden. Sie können persistente dienstbasierte Agentinstanzen mit vom Dienst verwalteten Unterhaltungsthreads erstellen.
Erste Schritte
Fügen Sie dem Projekt die erforderlichen NuGet-Pakete hinzu.
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.AzureAI.Persistent --prerelease
Erstellen von Azure AI Foundry Agents
Als erster Schritt müssen Sie einen Client erstellen, um eine Verbindung mit dem Azure AI Foundry Agents-Dienst herzustellen.
using System;
using Azure.AI.Agents.Persistent;
using Azure.Identity;
using Microsoft.Agents.AI;
var persistentAgentsClient = new PersistentAgentsClient(
"https://<myresource>.services.ai.azure.com/api/projects/<myproject>",
new AzureCliCredential());
Um den Azure AI Foundry Agents-Dienst zu verwenden, benötigen Sie eine Agentressource im Dienst. Dazu können Sie entweder das Azure.AI.Agents.Persistent SDK oder microsoft Agent Framework-Hilfsprogramme verwenden.
Verwenden des Persistent SDK
Erstellen Sie einen beständigen Agenten und rufen Sie ihn als AIAgent mit PersistentAgentsClient ab.
// Create a persistent agent
var agentMetadata = await persistentAgentsClient.Administration.CreateAgentAsync(
model: "gpt-4o-mini",
name: "Joker",
instructions: "You are good at telling jokes.");
// Retrieve the agent that was just created as an AIAgent using its ID
AIAgent agent1 = await persistentAgentsClient.GetAIAgentAsync(agentMetadata.Value.Id);
// Invoke the agent and output the text result.
Console.WriteLine(await agent1.RunAsync("Tell me a joke about a pirate."));
Verwenden von Agent Framework-Hilfsprogramme
Sie können auch ein AIAgent in einem Schritt erstellen und zurückgeben.
AIAgent agent2 = await persistentAgentsClient.CreateAIAgentAsync(
model: "gpt-4o-mini",
name: "Joker",
instructions: "You are good at telling jokes.");
Erneutes Verwenden von Azure AI Foundry Agents
Sie können vorhandene Azure AI Foundry Agents wiederverwenden, indem Sie sie mithilfe ihrer IDs abrufen.
AIAgent agent3 = await persistentAgentsClient.GetAIAgentAsync("<agent-id>");
Verwendung des Agenten
Der Agent ist ein AIAgent Standard und unterstützt alle AIAgent Standardoperationen.
Weitere Informationen zum Ausführen und Interagieren mit Agenten finden Sie in den Agenten-Einführungstutorials.
Konfiguration
Umgebungsvariablen
Bevor Sie Azure AI Foundry Agents verwenden, müssen Sie diese Umgebungsvariablen einrichten:
export AZURE_AI_PROJECT_ENDPOINT="https://<your-project>.services.ai.azure.com/api/projects/<project-id>"
export AZURE_AI_MODEL_DEPLOYMENT_NAME="gpt-4o-mini"
Alternativ können Sie diese Werte direkt in Ihrem Code bereitstellen.
Installation
Fügen Sie Ihrem Projekt das Azure AI-Paket des Agent-Frameworks hinzu:
pip install agent-framework-azure-ai --pre
Erste Schritte
Authentifizierung
Azure AI Foundry Agents verwenden Azure-Anmeldeinformationen für die Authentifizierung. Der einfachste Ansatz besteht darin, AzureCliCredential nach der Ausführung von az login zu verwenden.
from azure.identity.aio import AzureCliCredential
async with AzureCliCredential() as credential:
# Use credential with Azure AI agent client
Azure AI Foundry Agents erstellen
Grundlegende Agent-Erstellung
Der einfachste Weg, um einen Agenten zu erstellen, ist die Verwendung von AzureAIAgentClient zusammen mit Umgebungsvariablen:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(async_credential=credential).create_agent(
name="HelperAgent",
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Explizite Konfiguration
Sie können die Konfiguration auch explizit bereitstellen, anstatt Umgebungsvariablen zu verwenden:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(
project_endpoint="https://<your-project>.services.ai.azure.com/api/projects/<project-id>",
model_deployment_name="gpt-4o-mini",
async_credential=credential,
agent_name="HelperAgent"
).create_agent(
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Verwenden von bestehenden Azure AI Foundry Agenten
Verwendung eines vorhandenen Agenten nach ID
Wenn Sie über einen vorhandenen Agent in Azure AI Foundry verfügen, können Sie ihn verwenden, indem Sie dessen ID angeben:
import asyncio
from agent_framework import ChatAgent
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
ChatAgent(
chat_client=AzureAIAgentClient(
async_credential=credential,
agent_id="<existing-agent-id>"
),
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Erstellen und Verwalten persistenter Agenten
Für eine bessere Kontrolle über den Agent-Lebenszyklus können Sie beständige Agents mithilfe des Azure AI Projects-Clients erstellen:
import asyncio
import os
from agent_framework import ChatAgent
from agent_framework.azure import AzureAIAgentClient
from azure.ai.projects.aio import AIProjectClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AIProjectClient(
endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
credential=credential
) as project_client,
):
# Create a persistent agent
created_agent = await project_client.agents.create_agent(
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
name="PersistentAgent",
instructions="You are a helpful assistant."
)
try:
# Use the agent
async with ChatAgent(
chat_client=AzureAIAgentClient(
project_client=project_client,
agent_id=created_agent.id
),
instructions="You are a helpful assistant."
) as agent:
result = await agent.run("Hello!")
print(result.text)
finally:
# Clean up the agent
await project_client.agents.delete_agent(created_agent.id)
asyncio.run(main())
Agentfeatures
Funktionstools
Sie können benutzerdefinierte Funktionstools für Azure AI Foundry-Agents bereitstellen:
import asyncio
from typing import Annotated
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
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 sunny with a high of 25°C."
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(async_credential=credential).create_agent(
name="WeatherAgent",
instructions="You are a helpful weather assistant.",
tools=get_weather
) as agent,
):
result = await agent.run("What's the weather like in Seattle?")
print(result.text)
asyncio.run(main())
Codedolmetscher
Azure AI Foundry Agents unterstützen die Codeausführung über den gehosteten Codedolmetscher:
import asyncio
from agent_framework import HostedCodeInterpreterTool
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(async_credential=credential).create_agent(
name="CodingAgent",
instructions="You are a helpful assistant that can write and execute Python code.",
tools=HostedCodeInterpreterTool()
) as agent,
):
result = await agent.run("Calculate the factorial of 20 using Python code.")
print(result.text)
asyncio.run(main())
Streaming-Antworten
Erhalten Sie Antworten, während sie mithilfe von Streaming generiert werden:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(async_credential=credential).create_agent(
name="StreamingAgent",
instructions="You are a helpful assistant."
) as agent,
):
print("Agent: ", end="", flush=True)
async for chunk in agent.run_stream("Tell me a short story"):
if chunk.text:
print(chunk.text, end="", flush=True)
print()
asyncio.run(main())
Den Agent verwenden
Der Agent ist ein Standard BaseAgent und unterstützt alle Standard-Agent-Vorgänge.
Weitere Informationen zum Ausführen und Interagieren mit Agenten finden Sie in den Agenten-Einführungstutorials.