(برای مشاهده ویدئوی این درس روی تصویر بالا کلیک کنید)
چارچوبهای عامل هوش مصنوعی پلتفرمهای نرمافزاریای هستند که به منظور سادهسازی ایجاد، استقرار و مدیریت عاملهای هوش مصنوعی طراحی شدهاند. این چارچوبها به توسعهدهندگان اجزای ازپیشساخته، انتزاعها و ابزارهایی ارائه میدهند که توسعه سیستمهای پیچیده هوش مصنوعی را تسریع میکنند.
این چارچوبها به توسعهدهندگان امکان میدهند تا با ارائه رویکردهای استاندارد برای چالشهای رایج در توسعه عاملهای هوش مصنوعی، بر جنبههای منحصربهفرد برنامههای خود تمرکز کنند. آنها مقیاسپذیری، دسترسی و کارایی در ساخت سیستمهای هوشمند را بهبود میبخشند.
این درس پوشش میدهد:
اهداف این درس به شما کمک میکنند تا بفهمید:
چارچوبهای سنتی هوش مصنوعی میتوانند به شما کمک کنند تا هوش مصنوعی را در برنامههای خود ادغام کنید و این برنامهها را به طرق زیر بهتر سازید:
چارچوبهای عامل هوش مصنوعی چیزی فراتر از چارچوبهای معمولی هوش مصنوعی هستند. آنها برای توانمندسازی ایجاد عاملهای هوشمندی طراحی شدهاند که میتوانند با کاربران، سایر عاملها و محیط تعامل کنند تا به اهداف خاصی برسند. این عاملها میتوانند رفتار خودگردان نشان دهند، تصمیم بگیرند و خود را با شرایط در حال تغییر تطبیق دهند. بیایید برخی از قابلیتهای کلیدی فراهمشده توسط چارچوبهای عامل هوش مصنوعی را بررسی کنیم:
پس در خلاصه، عاملها به شما اجازه میدهند تا بیشتر انجام دهید، اتوماسیون را به سطح بعدی ببرید و سیستمهای هوشمندتری ایجاد کنید که قادر به تطبیق و یادگیری از محیط خود باشند.
این حوزه سریعالتحول است، اما برخی موارد در بیشتر چارچوبهای عامل هوش مصنوعی مشترک است که میتواند به شما در نمونهسازی سریع و تکرار کمک کند، از جمله مؤلفههای مدولی، ابزارهای همکاری و یادگیری در زمان واقعی. بیایید به این موارد بپردازیم:
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)
آنچه در کد قبلی میبینید نشان میدهد چگونه میتوانید یک وظیفه ایجاد کنید که شامل چندین عامل است که با هم برای تحلیل دادهها کار میکنند. هر عامل عملکرد خاصی را انجام میدهد و وظیفه با هماهنگی عاملها برای دستیابی به نتیجهٔ مطلوب اجرا میشود. با ایجاد عاملهای اختصاصی با نقشهای تخصصی، میتوانید کارایی و عملکرد وظایف را بهبود بخشید.
چارچوبهای پیشرفته امکاناتی برای درک زمینه و تطبیق در زمان واقعی فراهم میکنند.
تیمها چگونه میتوانند از اینها استفاده کنند: تیمها میتوانند حلقههای بازخوردی پیادهسازی کنند که در آنها عاملها از تعاملات یاد میگیرند و رفتار خود را بهصورت پویا تنظیم میکنند که منجر به بهبود مداوم و پالایش قابلیتها میشود.
عملکرد در عمل چگونه است: عاملها میتوانند بازخورد کاربر، دادههای محیطی و نتایج وظایف را تحلیل کنند تا پایگاه دانش خود را بهروزرسانی کنند، الگوریتمهای تصمیمگیری را تنظیم کنند و عملکرد را در طول زمان بهبود بخشند. این فرایند یادگیری تکراری به عاملها اجازه میدهد تا خود را با شرایط در حال تغییر و ترجیحات کاربران تطبیق دهند و اثربخشی کلی سیستم را افزایش دهند.
راههای زیادی برای مقایسه این رویکردها وجود دارد، اما بیایید به برخی تفاوتهای کلیدی از نظر طراحی، قابلیتها و موارد استفادهٔ هدفگذاریشده نگاهی بیندازیم:
چارچوب عامل مایکروسافت یک SDK سادهشده برای ساخت عاملهای هوش مصنوعی با استفاده از AzureAIProjectAgentProvider فراهم میکند. این امکان را برای توسعهدهندگان فراهم میکند تا عاملهایی ایجاد کنند که از مدلهای Azure OpenAI با فراخوانی ابزار داخلی، مدیریت مکالمه و امنیت در سطح سازمان از طریق هویت Azure بهره ببرند.
موارد استفاده: ساخت عاملهای هوش مصنوعی آمادهٔ تولید با استفاده از ابزارها، گردشهای کاری چندمرحلهای و سناریوهای یکپارچهسازی سازمانی.
در اینجا برخی مفاهیم اصلی چارچوب عامل مایکروسافت آمده است:
AzureAIProjectAgentProvider ایجاد شده و با نام، دستورالعملها و ابزارها پیکربندی میشود. عامل میتواند:
در اینجا یک قطعه کد نشان داده شده که چگونه یک عامل ایجاد میشود:
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
agent = await provider.create_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)
ابزارها. این چارچوب پشتیبانی تعریف ابزارها را بهعنوان توابع Python که عامل میتواند بهصورت خودکار آنها را فراخوانی کند، فراهم میکند. ابزارها هنگام ایجاد عامل ثبت میشوند:
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 72\u00b0F."
agent = await provider.create_agent(
name="weather_agent",
instructions="Help users check the weather.",
tools=[get_weather],
)
هماهنگی چندعاملی. شما میتوانید چندین عامل با تخصصهای مختلف ایجاد کرده و کار آنها را هماهنگ کنید:
planner = await provider.create_agent(
name="planner",
instructions="Break down complex tasks into steps.",
)
executor = await provider.create_agent(
name="executor",
instructions="Execute the planned steps using available tools.",
tools=[execute_tool],
)
plan = await planner.run("Plan a trip to Paris")
result = await executor.run(f"Execute this plan: {plan}")
AzureCliCredential (یا DefaultAzureCredential) برای احراز هویت امن و بدون کلید استفاده میکند و نیاز به مدیریت مستقیم کلیدهای API را حذف مینماید.سرویس 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 با Microsoft Foundry یکپارچه میشود. در درون AI Foundry، یک عامل هوش مصنوعی مانند یک میکروسرویس “هوشمند” عمل میکند که میتوان از آن برای پاسخ به سؤالات (RAG)، انجام اقدامات یا خودکارسازی کامل گردشهای کاری استفاده کرد. این هدف را با ترکیب قدرت مدلهای مولدی و ابزارهایی که امکان دسترسی و تعامل با منابع دادهٔ دنیای واقعی را میدهند، تحقق میبخشد. در اینجا یک مثال از یک عامل آورده شده است:
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
در این مثال، یک عامل با مدل gpt-4o-mini، نام my-agent و دستورالعمل You are helpful agent ایجاد شده است. عامل مجهز به ابزارها و منابعی برای انجام وظایف تفسیر کد است.
موضوع (Thread) و پیامها. موضوع یا Thread مفهوم مهم دیگری است. این نمایانگر یک مکالمه یا تعامل بین یک عامل و یک کاربر است. از موضوعات میتوان برای دنبال کردن پیشرفت یک مکالمه، ذخیره اطلاعات زمینه و مدیریت حالت تعامل استفاده کرد. در اینجا نمونهای از یک موضوع آمده است:
thread = project_client.agents.create_thread()
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
)
# Ask the agent to perform work on the thread
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Fetch and log all messages to see the agent's response
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
در کد قبلی، یک موضوع ایجاد میشود. سپس، پیامی به موضوع ارسال میشود. با فراخوانی create_and_process_run، از عامل خواسته میشود تا بر روی موضوع کار انجام دهد. در نهایت، پیامها بازیابی و برای مشاهدهٔ پاسخ عامل ثبت میشوند. پیامها پیشرفت مکالمه بین کاربر و عامل را نشان میدهند. همچنین مهم است که بفهمید پیامها میتوانند از انواع مختلفی مانند متن، تصویر یا فایل باشند؛ یعنی کار عامل ممکن است در مثال منجر به یک تصویر یا یک پاسخ متنی شود. به عنوان یک توسعهدهنده، سپس میتوانید از این اطلاعات برای پردازش بیشتر پاسخ یا ارائه آن به کاربر استفاده کنید.
یکپارچهسازی با چارچوب عامل مایکروسافت. سرویس Azure AI Agent Service بهصورت یکپارچه با چارچوب عامل مایکروسافت کار میکند، بدان معنا که میتوانید عاملها را با AzureAIProjectAgentProvider بسازید و آنها را از طریق 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 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) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است حاوی خطاها یا نادرستیهایی باشند. سند اصلی به زبان مبدأ باید بهعنوان منبع مرجع معتبر در نظر گرفته شود. برای اطلاعات حیاتی یا حساس، استفاده از ترجمهٔ حرفهای انسانی توصیه میشود. ما در قبال هرگونه سوءتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.