ai-agents-for-beginners

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

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

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

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

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

مقدمه

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

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

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

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

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

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

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

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

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

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

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

SDKهایی مانند چارچوب عامل مایکروسافت مؤلفه‌های ازپیش‌ساخته‌ای مانند کانکتورهای هوش مصنوعی، تعریف ابزارها و مدیریت عامل را ارائه می‌دهند.

تیم‌ها چگونه می‌توانند از این‌ها استفاده کنند: تیم‌ها می‌توانند به سرعت این مؤلفه‌ها را کنار هم قرار دهند تا یک نمونهٔ اولیهٔ کاربردی ایجاد کنند بدون اینکه از ابتدا بسازند، که امکان آزمایش و تکرار سریع را فراهم می‌آورد.

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

کد نمونه. بیایید نگاهی به مثالی بیندازیم که چگونه می‌توانید از چارچوب عامل مایکروسافت با AzureAIProjectAgentProvider استفاده کنید تا مدل به ورودی کاربر با فراخوانی ابزار پاسخ دهد:

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

import asyncio
import os
from typing import Annotated

from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential


# تعریف یک تابع نمونه برای رزرو سفر
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 = AzureAIProjectAgentProvider(credential=AzureCliCredential())
    agent = await provider.create_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())

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

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

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

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

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

کد نمونه (چارچوب عامل مایکروسافت):

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

import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

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

# عامل تحلیل داده
agent_analyze = await provider.create_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)

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

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

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

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

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

تفاوت‌های بین چارچوب عامل مایکروسافت و سرویس Azure AI Agent Service چیست؟

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

چارچوب عامل مایکروسافت (MAF)

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

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

در اینجا برخی مفاهیم اصلی چارچوب عامل مایکروسافت آمده است:

سرویس Azure AI Agent Service

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

سرویس Azure AI Agent Service مکانیزم‌های امنیتی و روش‌های ذخیره‌سازی دادهٔ قوی‌تری برای سازمان‌ها فراهم می‌آورد و آن را برای برنامه‌های سازمانی مناسب می‌سازد.

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

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

با استفاده از SDK پایتون سرویس Azure AI 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-4o-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())

مفاهیم اصلی

سرویس Azure AI Agent Service دارای مفاهیم اصلی زیر است:

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

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

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

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

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

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

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

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

Q: من به استقرار در سطح سازمان با یکپارچه‌سازی Azure مانند Search و اجرای کد نیاز دارم

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

Q: هنوز گیج‌ام، فقط یک گزینه به من بگو

A: با چارچوب عامل مایکروسافت شروع کنید تا عامل‌های خود را بسازید، و سپس زمانی که نیاز به استقرار و مقیاس‌دهی آن‌ها در تولید داشتید از سرویس Azure AI Agent Service استفاده کنید. این رویکرد به شما اجازه می‌دهد تا سریعاً منطق عامل خود را تکرار کنید در حالی که مسیر روشنی برای استقرار سازمانی دارید.

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

Framework Focus Core Concepts Use Cases
چارچوب عامل مایکروسافت SDK ساده‌شده برای عامل با فراخوانی ابزار Agentها، Tools، هویت Azure ساخت عامل‌های هوش مصنوعی، استفاده از ابزارها، گردش‌های کاری چندمرحله‌ای
سرویس Azure AI Agent Service مدل‌های منعطف، امنیت سازمانی، تولید کد، فراخوانی ابزار مدولار بودن، همکاری، ارکستراسیون فرآیند استقرار امن، مقیاس‌پذیر و منعطف عامل‌های هوش مصنوعی

آیا می‌توانم ابزارهای موجود در اکوسیستم Azure خود را به‌طور مستقیم یکپارچه کنم، یا به راه‌حل‌های مستقل نیاز دارم؟

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

Microsoft Agent Framework نیز از طریق AzureAIProjectAgentProvider و هویت Azure با سرویس‌های Azure یکپارچه می‌شود، و به شما اجازه می‌دهد تا از ابزارهای عامل خود مستقیماً به خدمات Azure فراخوانی کنید.

نمونه کدها

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

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

منابع

درس قبلی

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

درس بعدی

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


سلب مسئولیت: این سند با استفاده از سرویس ترجمهٔ هوش مصنوعی Co‑op Translator (https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مبدأ باید به‌عنوان منبع مرجع معتبر در نظر گرفته شود. برای اطلاعات حیاتی یا حساس، استفاده از ترجمهٔ حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوءتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.