ai-agents-for-beginners

کاوش در چارچوب‌های عامل هوش مصنوعی

(برای مشاهده ویدیوی این درس روی تصویر بالا کلیک کنید)

کاوش در چارچوب‌های عامل هوش مصنوعی

چارچوب‌های عامل هوش مصنوعی پلتفرم‌های نرم‌افزاری طراحی شده برای ساده‌سازی ساخت، پیاده‌سازی و مدیریت عوامل هوش مصنوعی هستند. این چارچوب‌ها برای توسعه‌دهندگان اجزای از پیش ساخته شده، انتزاعات و ابزارهایی فراهم می‌کنند که توسعه سیستم‌های پیچیده هوش مصنوعی را تسهیل می‌کنند.

این چارچوب‌ها به توسعه‌دهندگان کمک می‌کنند تا با ارائه رویکردهای استاندارد شده برای چالش‌های رایج در توسعه عامل‌های هوش مصنوعی، روی جنبه‌های منحصر به فرد برنامه‌های خود تمرکز کنند. آن‌ها قابلیت مقیاس‌پذیری، دسترسی‌پذیری و بهره‌وری در ساخت سیستم‌های هوش مصنوعی را افزایش می‌دهند.

مقدمه

این درس موارد زیر را پوشش می‌دهد:

اهداف یادگیری

هدف این درس کمک به شما در درک موارد زیر است:

چارچوب‌های عامل هوش مصنوعی چیستند و چه کاری برای توسعه‌دهندگان امکان‌پذیر می‌کنند؟

چارچوب‌های سنتی هوش مصنوعی می‌توانند به شما کمک کنند AI را در برنامه‌های خود ادغام کنید و این برنامه‌ها را به روش‌های زیر بهبود دهید:

این همه عالی به نظر می‌رسد، پس چرا به چارچوب عامل هوش مصنوعی نیاز داریم؟

چارچوب‌های عامل هوش مصنوعی چیزی فراتر از چارچوب‌های AI معمولی هستند. آن‌ها طراحی شده‌اند تا ساخت عوامل هوشمند را که می‌توانند با کاربران، دیگر عوامل و محیط تعامل کنند تا اهداف مشخصی را محقق سازند، ممکن کنند. این عوامل می‌توانند رفتار خودمختار نشان دهند، تصمیم‌گیری کنند و به شرایط در حال تغییر سازگار شوند. بیایید به برخی قابلیت‌های کلیدی فعال شده توسط چارچوب‌های عامل هوش مصنوعی نگاه کنیم:

پس به طور خلاصه، عوامل به شما اجازه می‌دهند بیشتر کار کنید، اتوماسیون را به سطح بالاتری ببرید، و سیستم‌های هوشمندتری بسازید که قادر به سازگاری و یادگیری از محیط خود هستند.

چگونه قابلیت‌های عامل را سریع نمونه‌سازی، تکرار و بهبود دهیم؟

این حوزه سریع در حال پیشرفت است، اما برخی موارد در بیشتر چارچوب‌های عامل هوش مصنوعی مشترک هستند که به شما کمک می‌کنند سریع نمونه‌سازی و تکرار کنید، از جمله اجزای مدولار، ابزارهای همکاری و یادگیری زمان واقعی. بیایید به این موارد بپردازیم:

استفاده از اجزای مدولار

کیت‌های توسعه مانند Microsoft Agent Framework اجزای از پیش ساخته‌ای مانند اتصال‌دهنده‌های AI، تعاریف ابزار و مدیریت عامل ارائه می‌دهند.

نحوه استفاده تیم‌ها: تیم‌ها می‌توانند این اجزا را سریع جمع کنند تا نمونه اولیه عملیاتی بسازند بدون شروع از صفر، که این امکان را برای آزمایش و تکرار سریع فراهم می‌کند.

کارکرد در عمل: شما می‌توانید از یک پارسر از پیش ساخته شده برای استخراج اطلاعات از ورودی کاربر، یک ماژول حافظه برای ذخیره و بازیابی داده‌ها و یک تولیدکننده پرامپت برای تعامل با کاربران استفاده کنید، همه این‌ها بدون نیاز به ساخت این اجزا از ابتدا.

نمونه کد. بیایید نمونه‌ای از استفاده Microsoft Agent Framework با FoundryChatClient را ببینیم که مدل به ورودی کاربر با فراخوانی ابزار پاسخ می‌دهد:

# نمونه چارچوب Microsoft Agent به زبان پایتون

import asyncio
import os

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


# تعریف یک تابع نمونه ابزار برای رزرو سفر
@tool(approval_mode="never_require")
def book_flight(date: str, location: str) -> str:
    """Book travel given location and date."""
    return f"Travel was booked to {location} on {date}"


async def main():
    provider = FoundryChatClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
        credential=AzureCliCredential(),
    )
    agent = provider.as_agent(
        name="travel_agent",
        instructions="Help the user book travel. Use the book_flight tool when ready.",
        tools=[book_flight],
    )

    response = await agent.run("I'd like to go to New York on January 1, 2025")
    print(response)
    # خروجی نمونه: پرواز شما به نیویورک در اول ژانویه ۲۰۲۵ با موفقیت رزرو شد. سفر خوش! ✈️🗽


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

آنچه از این مثال می‌بینید این است که چگونه می‌توانید از یک پارسر از پیش ساخته شده برای استخراج اطلاعات کلیدی از ورودی کاربر، مانند مبدا، مقصد و تاریخ درخواست رزرو پرواز استفاده کنید. این رویکرد مدولار به شما اجازه می‌دهد روی منطق در سطح بالا تمرکز کنید.

بهره‌گیری از ابزارهای همکاری

چارچوب‌هایی مانند Microsoft Agent Framework امکان ساخت چند عامل که می‌توانند با هم کار کنند را فراهم می‌آورند.

نحوه استفاده تیم‌ها: تیم‌ها می‌توانند عوامل با نقش‌ها و وظایف خاص طراحی کنند تا بتوانند جریان‌های کاری مشترک را آزمایش و بهبود دهند و بهره‌وری کلی سیستم را افزایش دهند.

کارکرد در عمل: شما می‌توانید یک تیم از عوامل بسازید که هر کدام عملکرد تخصصی دارند، مانند بازیابی داده، تحلیل یا تصمیم‌گیری. این عوامل می‌توانند به هم اطلاعات منتقل کنند و همکاری کنند تا هدف مشترکی مانند پاسخ به پرسش کاربر یا تکمیل یک وظیفه را محقق سازند.

نمونه کد (Microsoft Agent Framework):

# ایجاد چندین عامل که با استفاده از چارچوب عامل مایکروسافت با هم کار می‌کنند

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

provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

# عامل بازیابی داده
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# عامل تحلیل داده
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# اجرای عوامل به ترتیب بر روی یک وظیفه
retrieval_result = await agent_retrieve.run("Retrieve sales data for Q4")
analysis_result = await agent_analyze.run(f"Analyze this data: {retrieval_result}")
print(analysis_result)

آنچه در کد قبلی مشاهده می‌کنید این است که چگونه می‌توانید وظیفه‌ای را ایجاد کنید که شامل همکاری چند عامل برای تحلیل داده است. هر عامل عملکرد خاصی دارد و وظیفه از طریق هماهنگی عوامل برای رسیدن به نتیجه مطلوب اجرا می‌شود. با ایجاد عوامل اختصاصی با نقش‌های تخصصی، می‌توانید کارایی و عملکرد وظایف را بهبود دهید.

یادگیری در زمان واقعی

چارچوب‌های پیشرفته قابلیت‌های درک زمینه و سازگاری در زمان واقعی را فراهم می‌کنند.

نحوه استفاده تیم‌ها: تیم‌ها می‌توانند حلقه‌های بازخورد را پیاده‌سازی کنند که در آن عوامل از تعاملات می‌آموزند و رفتار خود را به طور پویا تنظیم می‌کنند که منجر به بهبود و پالایش مستمر قابلیت‌ها می‌شود.

کارکرد در عمل: عوامل می‌توانند بازخورد کاربران، داده‌های محیطی و نتایج وظایف را تحلیل کنند تا پایگاه دانش خود را به‌روزرسانی کنند، الگوریتم‌های تصمیم‌گیری را تنظیم کنند و عملکرد را به مرور زمان بهبود بخشند. این فرآیند یادگیری تکراری به عوامل اجازه می‌دهد به شرایط و ترجیحات تغییر یافته کاربران سازگار شوند و اثربخشی کلی سیستم را افزایش دهند.

تفاوت‌های Microsoft Agent Framework و Microsoft Foundry Agent Service چیست؟

روش‌های زیادی برای مقایسه این دو وجود دارد، اما بیایید به برخی تفاوت‌های کلیدی در طراحی، قابلیت‌ها و موارد استفاده هدفمند آن‌ها نگاه کنیم:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework یک کیت توسعه نرم‌افزار ساده ارائه می‌دهد برای ساخت عوامل هوش مصنوعی با استفاده از FoundryChatClient. این چارچوب به توسعه‌دهندگان امکان می‌دهد عوامل بسازند که از مدل‌های Azure OpenAI با فراخوانی ابزار داخلی، مدیریت گفتگو و امنیت سازمانی از طریق هویت Azure بهره‌مند می‌شوند.

موارد استفاده: ساخت عوامل هوش مصنوعی آماده تولید با استفاده از ابزارها، جریان‌های کاری چند مرحله‌ای و سناریوهای یکپارچگی سازمانی.

در اینجا برخی مفاهیم کلیدی Microsoft Agent Framework آورده شده است:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service افزودنی جدیدتری است که در Microsoft Ignite 2024 معرفی شده است. این امکان توسعه و استقرار عامل‌های AI را با مدل‌های انعطاف‌پذیرتر فراهم می‌کند، مانند فراخوانی مستقیم مدل‌های متن‌باز LLM مانند Llama 3، Mistral و Cohere.

Microsoft Foundry Agent Service مکانیزم‌های امنیتی سازمانی قوی‌تر و روش‌های ذخیره‌سازی داده ارائه می‌دهد که آن را برای برنامه‌های سازمانی مناسب می‌سازد.

این سرویس به صورت یکپارچه با Microsoft Agent Framework برای ساخت و استقرار عوامل کار می‌کند.

این سرویس در حال حاضر در نمایه عمومی (Public Preview) است و پشتیبانی از پایتون و C# برای ساخت عوامل دارد.

با استفاده از کیت توسعه Microsoft Foundry Agent Service برای پایتون، می‌توانیم یک عامل با ابزار تعریف شده توسط کاربر ایجاد کنیم:

import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

# توابع ابزار را تعریف کنید
def get_specials() -> str:
    """Provides a list of specials from the menu."""
    return """
    Special Soup: Clam Chowder
    Special Salad: Cobb Salad
    Special Drink: Chai Tea
    """

def get_item_price(menu_item: str) -> str:
    """Provides the price of the requested menu item."""
    return "$9.99"


async def main() -> None:
    credential = DefaultAzureCredential()
    project_client = AIProjectClient.from_connection_string(
        credential=credential,
        conn_str="your-connection-string",
    )

    agent = project_client.agents.create_agent(
        model="gpt-5-mini",
        name="Host",
        instructions="Answer questions about the menu.",
        tools=[get_specials, get_item_price],
    )

    thread = project_client.agents.create_thread()

    user_inputs = [
        "Hello",
        "What is the special soup?",
        "How much does that cost?",
        "Thank you",
    ]

    for user_input in user_inputs:
        print(f"# User: '{user_input}'")
        message = project_client.agents.create_message(
            thread_id=thread.id,
            role="user",
            content=user_input,
        )
        run = project_client.agents.create_and_process_run(
            thread_id=thread.id, agent_id=agent.id
        )
        messages = project_client.agents.list_messages(thread_id=thread.id)
        print(f"# Agent: {messages.data[0].content[0].text.value}")


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

مفاهیم کلیدی

Microsoft Foundry Agent Service مفاهیم کلیدی زیر را دارد:

موارد استفاده: Microsoft Foundry Agent Service برای برنامه‌های سازمانی طراحی شده است که نیاز به استقرار عامل هوش مصنوعی ایمن، مقیاس‌پذیر و انعطاف‌پذیر دارند.

تفاوت این رویکردها چیست؟

به نظر می‌رسد که تداخل وجود دارد، اما تفاوت‌های کلیدی در طراحی، قابلیت‌ها و موارد استفاده هدفمند وجود دارد:

هنوز مطمئن نیستید کدام را انتخاب کنید؟

موارد استفاده

بیایید ببینیم آیا می‌توانیم با مرور برخی موارد استفاده رایج به شما کمک کنیم:

سوال: من در حال ساخت برنامه‌های تولیدی عامل هوش مصنوعی هستم و می‌خواهم سریع شروع کنم

پاسخ: Microsoft Agent Framework انتخاب عالی است. API ساده و پایتونیکی از طریق FoundryChatClient ارائه می‌دهد که به شما اجازه می‌دهد عوامل را با ابزارها و دستورالعمل‌ها فقط در چند خط کد تعریف کنید.

سوال: من به استقرار سازمانی با یکپارچه‌سازی Azure مثل جستجو و اجرای کد نیاز دارم

پاسخ: Microsoft Foundry Agent Service بهترین گزینه است. این یک سرویس پلتفرمی است که قابلیت‌های داخلی برای مدل‌های متعدد، Azure AI Search، Bing Search و Azure Functions دارد. ساخت عوامل در پورتال Foundry و استقرار مقیاس‌پذیر آن‌ها آسان است.

سوال: هنوز گیج هستم، فقط یک گزینه بدهید

پاسخ: با Microsoft Agent Framework شروع کنید تا عوامل خود را بسازید، و سپس هنگام نیاز به استقرار و مقیاس‌بندی در تولید از Microsoft Foundry Agent Service استفاده کنید. این رویکرد به شما امکان می‌دهد روی منطق عامل خود سریع تکرار کنید و مسیر روشنی به استقرار سازمانی داشته باشید.

بیایید تفاوت‌های کلیدی را در یک جدول خلاصه کنیم:

چارچوب تمرکز مفاهیم کلیدی موارد استفاده
Microsoft Agent Framework کیت توسعه عامل ساده‌شده با فراخوانی ابزار عوامل، ابزارها، هویت Azure ساخت عوامل AI، استفاده از ابزار، جریان‌های کاری چند مرحله‌ای
Microsoft Foundry Agent Service مدل‌های انعطاف‌پذیر، امنیت سازمانی، تولید کد، فراخوانی ابزار مدولار بودن، همکاری، ارکستراسیون فرآیند استقرار ایمن، مقیاس‌پذیر و انعطاف‌پذیر عامل‌های AI

آیا می‌توانم ابزارهای اکوسیستم Azure موجود خود را مستقیماً ادغام کنم یا نیاز به راه‌حل‌های مستقل دارم؟

بله، می‌توانید ابزارهای موجود در اکوسیستم Azure خود را مستقیماً با سرویس Microsoft Foundry Agent ادغام کنید، به خصوص که این سرویس به‌گونه‌ای ساخته شده است که به صورت بی‌نقص با سایر خدمات Azure کار کند. به عنوان مثال می‌توانید Bing، Azure AI Search و Azure Functions را ادغام کنید. همچنین یک ادغام عمیق با Microsoft Foundry وجود دارد.

چارچوب عامل مایکروسافت همچنین از طریق FoundryChatClient و هویت Azure با خدمات Azure ادغام می‌شود و به شما امکان می‌دهد مستقیماً از ابزارهای عامل خود به خدمات Azure فراخوانی کنید.

نمونه کدها

سوالات بیشتری درباره چارچوب‌های عامل هوش مصنوعی دارید؟

به Microsoft Foundry Discord بپیوندید تا با دیگر یادگیرندگان ملاقات کنید، در ساعات اداری شرکت کنید و به سوالات خود درباره عوامل هوش مصنوعی پاسخ بگیرید.

منابع

درس قبلی

معرفی عوامل هوش مصنوعی و موارد استفاده از عامل

درس بعدی

درک الگوهای طراحی عاملی


سلب مسئولیت: این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.