Étape 1 : Votre premier agent

Créez un agent et obtenez une réponse , en quelques lignes de code seulement.

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

Créez l’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");

Avertissement

DefaultAzureCredential est pratique pour le développement, mais nécessite une considération minutieuse en production. En production, envisagez d’utiliser des informations d’identification spécifiques (par exemple ManagedIdentityCredential) pour éviter les problèmes de latence, la détection involontaire des informations d’identification et les risques de sécurité potentiels liés aux mécanismes de secours.

Exécutez-le :

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

Ou diffusez en continu la réponse :

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

Tip

Consultez cet article pour obtenir un exemple d’application exécutable complet.

pip install agent-framework-foundry azure-identity

Le package agent-framework-foundry installe agent-framework-core avec l’intégration Microsoft Foundry. Le agent-framework métapackage installe agent-framework-coreégalement, avec de nombreuses autres intégrations facultatives.

Connectez-vous avec le Azure CLI en exécutant az login. Dans l’exemple suivant, remplacez project_endpoint par votre point de terminaison de projet Microsoft Foundry et model par le nom du déploiement de votre modèle.

Enregistrez l’exemple complet sous 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())

Exécutez l’exemple :

python hello_agent.py

Note

Agent Framework ne charge .env automatiquement les fichiers. Pour utiliser un .env fichier pour la configuration, appelez load_dotenv() au début de votre script :

from dotenv import load_dotenv
load_dotenv()

Vous pouvez également définir des variables d’environnement directement dans votre interpréteur de commandes ou votre IDE. Pour plus d’informations, consultez la note de migration des paramètres .

Tip

Consultez l’exemple complet du fichier exécutable complet.

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

Créez l’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",
            },
        },
    )

Avertissement

azidentity.NewDefaultAzureCredential est pratique pour le développement, mais nécessite une considération minutieuse en production. En production, envisagez d’utiliser des informations d’identification spécifiques, telles que azidentity.NewManagedIdentityCredential, pour éviter les problèmes de latence, la détection involontaire des informations d’identification et les risques de sécurité potentiels liés aux mécanismes de secours.

Exécutez-le :

    ctx := context.Background()

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

Ou diffusez en continu la réponse :

    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

Consultez l’exemple complet du fichier exécutable complet.

Étapes suivantes

Aller plus loin :

  • Agents : comprendre l’architecture de l’agent
  • Fournisseurs : consultez tous les fournisseurs pris en charge