الخطوة 1: الوكيل الأول

إنشاء عامل والحصول على استجابة — في بضعة أسطر فقط من التعليمات البرمجية.

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

إنشاء العامل:

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

تحذير

DefaultAzureCredential مناسب للتنمية ولكنه يتطلب دراسة متأنية في الإنتاج. في الإنتاج، ضع في اعتبارك استخدام بيانات اعتماد محددة (على سبيل المثال، ManagedIdentityCredential) لتجنب مشكلات زمن الانتقال، وبحث بيانات الاعتماد غير المقصودة، والمخاطر الأمنية المحتملة من الآليات الاحتياطية.

شغلها:

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

أو دفق الاستجابة:

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

Tip

انظر هنا للحصول على نموذج تطبيق كامل قابل للتشغيل.

pip install agent-framework-foundry azure-identity

agent-framework-foundry يتم تثبيت الحزمة agent-framework-core مع تكامل Microsoft Foundry. agent-framework تقوم metapackage أيضا بتثبيت agent-framework-core، جنبا إلى جنب مع العديد من عمليات التكامل الاختيارية الأخرى.

سجل الدخول باستخدام Azure CLI عن طريق تشغيل az login. في المثال التالي، استبدل project_endpoint بنقطة نهاية مشروع Microsoft Foundry واسم model توزيع النموذج الخاص بك.

احفظ المثال الكامل ك 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-account.services.ai.azure.com/api/projects/your-project",
            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())

تشغيل المثال:

python hello_agent.py

Note

لا يقوم إطار عمل العامل بتحميل .env الملفات تلقائيا. لاستخدام .env ملف للتكوين، اتصل load_dotenv() في بداية البرنامج النصي الخاص بك:

from dotenv import load_dotenv
load_dotenv()

بدلا من ذلك، قم بتعيين متغيرات البيئة مباشرة في shell أو IDE. راجع ملاحظة ترحيل الإعدادات للحصول على التفاصيل.

Tip

راجع النموذج الكامل للملف الكامل القابل للتشغيل.

Tip

هل تفضل الإنشاء باستخدام وكيل ترميز؟ معاينة المهارة وتثبيتها agent-framework-builder-python ، ثم اسأل: Build a Python Agent Framework agent with Foundry, tools, sessions, and tests.

المتطلبات المسبقه

  • انتقل إلى 1.26 أو أحدث.
  • مشروع Microsoft Foundry مع توزيع نموذج.
  • بيانات اعتماد Azure معتمدة من قبل DefaultAzureCredential، مثل Azure CLI تسجيل الدخول باستخدام az login.

قم بتعيين FOUNDRY_PROJECT_ENDPOINT إلى نقطة نهاية المشروع وإلى FOUNDRY_MODEL اسم النشر قبل تشغيل المثال.

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

إنشاء العامل:

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

تحذير

azidentity.NewDefaultAzureCredential مناسب للتنمية ولكنه يتطلب دراسة متأنية في الإنتاج. في الإنتاج، ضع في اعتبارك استخدام بيانات اعتماد معينة، مثل azidentity.NewManagedIdentityCredential، لتجنب مشكلات زمن الانتقال، وبحث بيانات الاعتماد غير المقصودة، والمخاطر الأمنية المحتملة من الآليات الاحتياطية.

شغلها:

    ctx := context.Background()

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

أو دفق الاستجابة:

    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

راجع النموذج الكامل للملف الكامل القابل للتشغيل.

الخطوات التالية

انتقل إلى أبعد من ذلك: