Schritt 1: Ihr erster Agent

Erstellen Sie einen Agent, und erhalten Sie eine Antwort – in nur wenigen Codezeilen.

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

Erstellen Sie den Agent:

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

var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")
    ?? throw new InvalidOperationException("Set AZURE_OPENAI_ENDPOINT");
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "gpt-4o-mini";

AIAgent agent = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
    .AsAIAgent(
        model: deploymentName,
        instructions: "You are a friendly assistant. Keep your answers brief.",
        name: "HelloAgent");

Warnung

DefaultAzureCredential ist praktisch für die Entwicklung, erfordert aber sorgfältige Überlegungen in der Produktion. Berücksichtigen Sie in der Produktion die Verwendung bestimmter Anmeldeinformationen (z. B. ManagedIdentityCredential), um Latenzprobleme, unbeabsichtigte Abfragen von Anmeldeinformationen und potenzielle Sicherheitsrisiken durch Ausweichmechanismen zu vermeiden.

Ausführen:

Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));

Oder streamen Sie die Antwort:

await foreach (var update in agent.RunStreamingAsync("Tell me a one-sentence fun fact."))
{
    Console.Write(update);
}

Tip

Eine voll ausgeführte Beispielanwendung finden Sie hier .

pip install agent-framework-foundry azure-identity

Das agent-framework-foundry Paket installiert agent-framework-core mit der Microsoft Foundry-Integration. Das agent-framework Metapackage installiert agent-framework-coreauch zusammen mit vielen anderen optionalen Integrationen.

Melden Sie sich mit dem Azure CLI an, indem Sie folgendes ausführenaz login. Ersetzen Sie im folgenden Beispiel project_endpoint durch Ihren Microsoft Foundry-Projektendpunkt und model durch Ihren Modellbereitstellungsnamen.

Speichern Sie das vollständige Beispiel unter hello_agent.py:

import asyncio

from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential


async def main() -> None:
    agent = Agent(
        client=FoundryChatClient(
            project_endpoint="https://your-project.services.ai.azure.com",
            model="gpt-6-luna",
            credential=AzureCliCredential(),
        ),
        instructions="You are a friendly assistant. Keep your answers brief.",
    )
    print(await agent.run("What is the largest city of France?"))


if __name__ == "__main__":
    asyncio.run(main())

Führen Sie das Beispiel aus:

python hello_agent.py

Note

Das Agent-Framework lädt .env automatisch. Um eine .env Datei für die Konfiguration zu verwenden, rufen Sie load_dotenv() am Anfang Ihres Skripts auf:

from dotenv import load_dotenv
load_dotenv()

Alternativ können Sie Umgebungsvariablen direkt in Ihrer Shell oder IDE festlegen. Weitere Informationen finden Sie in der Einstellungsmigrationsnotiz .

Tip

Sehen Sie sich das vollständige Beispiel für die vollständige ausgeführte Datei an.

go get github.com/microsoft/agent-framework-go

Erstellen Sie den Agent:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/microsoft/agent-framework-go/agent"
    "github.com/microsoft/agent-framework-go/provider/foundryprovider"

    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)

func main() {
    endpoint := os.Getenv("FOUNDRY_PROJECT_ENDPOINT")
    model := os.Getenv("FOUNDRY_MODEL")

    token, err := azidentity.NewDefaultAzureCredential(nil)
    if err != nil {
        panic(err)
    }

    a := foundryprovider.NewAgent(
        endpoint,
        token,
        foundryprovider.ModelDeployment(model),
        foundryprovider.AgentConfig{
            Instructions: "You are a friendly assistant. Keep your answers brief.",
            Config: agent.Config{
                Name: "HelloAgent",
            },
        },
    )

Warnung

azidentity.NewDefaultAzureCredential ist praktisch für die Entwicklung, erfordert aber sorgfältige Überlegungen in der Produktion. Berücksichtigen Sie in Produktionsumgebungen die Verwendung einer bestimmten Anmeldeinformation, wie azidentity.NewManagedIdentityCredential, um Latenzprobleme, unbeabsichtigtes Ausprobieren von Anmeldeinformationen und potenzielle Sicherheitsrisiken durch Fallbackmechanismen zu vermeiden.

Ausführen:

    ctx := context.Background()

    resp, err := a.RunText(ctx, "What is the largest city in France?").Collect()
    fmt.Println(resp, err)

Oder streamen Sie die Antwort:

    for update, err := range a.RunText(ctx, "Tell me a one-sentence fun fact.", agent.Stream(true)) {
        if err != nil {
            panic(err)
        }
        fmt.Print(update)
    }
}

Tip

Sehen Sie sich das vollständige Beispiel für die vollständige ausgeführte Datei an.

Nächste Schritte

Gehen Sie tiefer:

  • Agents – Grundlegendes zur Agentarchitektur
  • Anbieter – alle unterstützten Anbieter anzeigen