Freigeben über


OpenAI ChatCompletion-Agenten

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

Erste Schritte

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

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

Erstellen eines ChatCompletion-Agenten von OpenAI

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

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

OpenAIClient client = new OpenAIClient("<your_api_key>");

OpenAI unterstützt mehrere Dienste, die alle Modellanruffunktionen bereitstellen. Wir müssen den ChatCompletion-Dienst auswählen, um einen chatCompletion-basierten Agent zu erstellen.

var chatCompletionClient = client.GetChatClient("gpt-4o-mini");

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

AIAgent agent = chatCompletionClient.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 AIAgent Standard und unterstützt alle AIAgent Standardoperationen.

Weitere Informationen zum Ausführen und Interagieren mit Agenten finden Sie in den Einführungstutorials für Agenten.

Voraussetzungen

Installieren Sie das Microsoft Agent Framework-Paket.

pip install agent-framework --pre

Konfiguration

Umgebungsvariablen

Richten Sie die erforderlichen Umgebungsvariablen für die OpenAI-Authentifizierung ein:

# Required for OpenAI API access
OPENAI_API_KEY="your-openai-api-key"
OPENAI_CHAT_MODEL_ID="gpt-4o-mini"  # or your preferred model

Alternativ können Sie eine .env Datei im Projektstamm verwenden:

OPENAI_API_KEY=your-openai-api-key
OPENAI_CHAT_MODEL_ID=gpt-4o-mini

Erste Schritte

Importieren Sie die erforderlichen Klassen aus dem Agent Framework:

import asyncio
from agent_framework import ChatAgent
from agent_framework.openai import OpenAIChatClient

Erstellen eines ChatCompletion-Agenten von OpenAI

Grundlegende Agent-Erstellung

Die einfachste Möglichkeit zum Erstellen eines Chatabschluss-Agents:

async def basic_example():
    # Create an agent using OpenAI ChatCompletion
    agent = OpenAIChatClient().create_agent(
        name="HelpfulAssistant",
        instructions="You are a helpful assistant.",
    )

    result = await agent.run("Hello, how can you help me?")
    print(result.text)

Verwendung der expliziten Konfiguration

Sie können eine explizite Konfiguration bereitstellen, anstatt sich auf Umgebungsvariablen zu verlassen:

async def explicit_config_example():
    agent = OpenAIChatClient(
        ai_model_id="gpt-4o-mini",
        api_key="your-api-key-here",
    ).create_agent(
        instructions="You are a helpful assistant.",
    )

    result = await agent.run("What can you do?")
    print(result.text)

Agentfeatures

Funktionstools

Rüsten Sie Ihren Agent mit benutzerdefinierten Funktionen aus:

from typing import Annotated
from pydantic import Field

def get_weather(
    location: Annotated[str, Field(description="The location to get weather for")]
) -> str:
    """Get the weather for a given location."""
    # Your weather API implementation here
    return f"The weather in {location} is sunny with 25°C."

async def tools_example():
    agent = ChatAgent(
        chat_client=OpenAIChatClient(),
        instructions="You are a helpful weather assistant.",
        tools=get_weather,  # Add tools to the agent
    )

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

Streaming-Antworten

Erhalten Sie Antworten, wenn sie generiert werden, um eine bessere Benutzererfahrung zu erzielen:

async def streaming_example():
    agent = OpenAIChatClient().create_agent(
        name="StoryTeller",
        instructions="You are a creative storyteller.",
    )

    print("Assistant: ", end="", flush=True)
    async for chunk in agent.run_stream("Tell me a short story about AI."):
        if chunk.text:
            print(chunk.text, end="", flush=True)
    print()  # New line after streaming

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ührungstutorials für Agenten.

Nächste Schritte