1. Adım: İlk Aracınız

Yalnızca birkaç kod satırıyla bir aracı oluşturun ve bir yanıt alın.

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

Aracıyı oluşturun:

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");

Warning

DefaultAzureCredential geliştirme için uygundur ancak üretimde dikkatli bir şekilde dikkate alınması gerekir. Üretimde gecikme sorunları, istenmeyen kimlik bilgisi yoklama ve geri dönüş mekanizmalarından kaynaklanan olası güvenlik risklerini önlemek için belirli bir kimlik bilgisi (ör ManagedIdentityCredential. ) kullanmayı göz önünde bulundurun.

Çalıştırın:

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

Alternatif olarak, yanıtı akışla aktarın:

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

Tip

Tam çalıştırılabilir örnek uygulama için buraya bakın.

pip install agent-framework-foundry azure-identity

Paket agent-framework-foundry, Microsoft Foundry tümleştirmesiyle agent-framework-core yükler. agent-framework meta paketi ayrıca, diğer birçok isteğe bağlı tümleştirmeyle birlikte agent-framework-core öğesini de yükler.

az login komutunu çalıştırarak Azure CLI ile oturum açın. Aşağıdaki örnekte model öğesini Microsoft Foundry proje uç noktanızla ve project_endpoint öğesini model dağıtım adınızla değiştirin.

Tam örneği hello_agent.py olarak kaydedin:

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())

Örneği çalıştırın:

python hello_agent.py

Uyarı

Agent Framework dosyaları otomatik olarak yüklemez.env. Bir .env dosyasını yapılandırma için kullanmak adına, betiğinizin başında load_dotenv() öğesini çağırın.

from dotenv import load_dotenv
load_dotenv()

Alternatif olarak, ortam değişkenlerini doğrudan kabuğunuzda veya IDE'nizde ayarlayın. Ayrıntılar için ayarlar geçiş notunu inceleyin.

Tip

Çalıştırılabilir dosyanın tamamı için tam örneğe bakın.

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

Aracıyı oluşturun:

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",
            },
        },
    )

Warning

azidentity.NewDefaultAzureCredential geliştirme için uygundur ancak üretimde dikkatli bir şekilde dikkate alınması gerekir. Üretimde, gecikme sorunlarından, istenmeyen kimlik bilgisi denemelerinden ve geri dönüş mekanizmalarından kaynaklanabilecek olası güvenlik risklerinden kaçınmak için azidentity.NewManagedIdentityCredential gibi belirli bir kimlik bilgisi kullanmayı göz önünde bulundurun.

Çalıştırın:

    ctx := context.Background()

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

Alternatif olarak, yanıtı akışla aktarın:

    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

Çalıştırılabilir dosyanın tamamı için tam örneğe bakın.

Sonraki Adımlar

Daha derine gidin: