Freigeben über


Azure OpenAI Antwort-Agenten

Das Microsoft Agent Framework unterstützt das Erstellen von Agents, die den Azure OpenAI-Antwortdienst verwenden.

Erste Schritte

Fügen Sie dem Projekt die erforderlichen NuGet-Pakete hinzu.

dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease

Erstellen eines Azure OpenAI-Antwort-Agents

Als erster Schritt müssen Sie einen Client erstellen, um eine Verbindung mit dem Azure OpenAI-Dienst herzustellen.

using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using OpenAI;

AzureOpenAIClient client = new AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com/"),
    new AzureCliCredential());

Azure OpenAI unterstützt mehrere Dienste, die alle Modellanruffunktionen bereitstellen. Wir müssen den Antwortdienst auswählen, um einen antwortenbasierten Agent zu erstellen.

#pragma warning disable OPENAI001 // Type is for evaluation purposes only and is subject to change or removal in future updates.
var responseClient = client.GetOpenAIResponseClient("gpt-4o-mini");
#pragma warning restore OPENAI001

Erstellen Sie schließlich den Agenten mithilfe der CreateAIAgent Erweiterungsmethode auf dem ResponseClient.

AIAgent agent = responseClient.CreateAIAgent(
    instructions: "You are good at telling jokes.",
    name: "Joker");

// Invoke the agent and output the text result.
Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));

Den Agent verwenden

Der Agent ist ein Standard AIAgent und unterstützt alle Standardoperationen AIAgent.

Weitere Informationen zum Ausführen und Interagieren mit Agenten finden Sie in den Einführung in Agenten Tutorials.

Konfiguration

Umgebungsvariablen

Bevor Sie Azure OpenAI Responses Agents verwenden, müssen Sie diese Umgebungsvariablen einrichten:

export AZURE_OPENAI_ENDPOINT="https://<myresource>.openai.azure.com"
export AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME="gpt-4o-mini"

Optional können Sie auch Folgendes festlegen:

export AZURE_OPENAI_API_VERSION="preview"  # Required for Responses API
export AZURE_OPENAI_API_KEY="<your-api-key>"  # If not using Azure CLI authentication

Installation

Fügen Sie ihrem Projekt das Agent Framework-Paket hinzu:

pip install agent-framework --pre

Erste Schritte

Authentifizierung

Azure OpenAI Responses 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 import AzureCliCredential

credential = AzureCliCredential()

Erstellen eines Azure OpenAI-Antwort-Agents

Grundlegende Agent-Erstellung

Die einfachste Möglichkeit zum Erstellen eines Agents besteht darin, die AzureOpenAIResponsesClient zusammen mit Umgebungsvariablen zu verwenden.

import asyncio
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential

async def main():
    agent = AzureOpenAIResponsesClient(credential=AzureCliCredential()).create_agent(
        instructions="You are good at telling jokes.",
        name="Joker"
    )

    result = await agent.run("Tell me a joke about a pirate.")
    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 AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential

async def main():
    agent = AzureOpenAIResponsesClient(
        endpoint="https://<myresource>.openai.azure.com",
        deployment_name="gpt-4o-mini",
        api_version="preview",
        credential=AzureCliCredential()
    ).create_agent(
        instructions="You are good at telling jokes.",
        name="Joker"
    )

    result = await agent.run("Tell me a joke about a pirate.")
    print(result.text)

asyncio.run(main())

Agentfeatures

Funktionstools

Sie können benutzerdefinierte Funktionstools für Azure OpenAI-Antwort-Agents bereitstellen:

import asyncio
from typing import Annotated
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity 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():
    agent = AzureOpenAIResponsesClient(credential=AzureCliCredential()).create_agent(
        instructions="You are a helpful weather assistant.",
        tools=get_weather
    )

    result = await agent.run("What's the weather like in Seattle?")
    print(result.text)

asyncio.run(main())

Codedolmetscher

Azure OpenAI Responses Agents unterstützen die Codeausführung über den gehosteten Codedolmetscher:

import asyncio
from agent_framework import ChatAgent, HostedCodeInterpreterTool
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential

async def main():
    async with ChatAgent(
        chat_client=AzureOpenAIResponsesClient(credential=AzureCliCredential()),
        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 AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential

async def main():
    agent = AzureOpenAIResponsesClient(credential=AzureCliCredential()).create_agent(
        instructions="You are a helpful assistant."
    )

    print("Agent: ", end="", flush=True)
    async for chunk in agent.run_stream("Tell me a short story about a robot"):
        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 Einführung in Agenten Tutorials.

Nächste Schritte