ai-agents-for-beginners

एआई एजेन्ट फ्रेमवर्कहरूको अन्वेषण

(यो पाठको भिडियो हेर्न माथि रहेको छविमा क्लिक गर्नुहोस्)

एआई एजेन्ट फ्रेमवर्कहरू अन्वेषण

एआई एजेन्ट फ्रेमवर्कहरू ती सफ्टवेयर प्लेटफर्महरू हुन् जसले एआई एजेन्टहरूको सिर्जना, डिप्लोयमेन्ट, र व्यवस्थापनलाई सरल बनाउन डिजाइन गरिएका हुन्छन्। यी फ्रेमवर्कहरूले विकासकर्ताहरूलाई पूर्व-निर्मित कम्पोनेन्टहरू, अब्स्ट्र्याक्शनहरू, र उपकरणहरू प्रदान गर्छन् जसले जटिल एआई प्रणालीहरूको विकासलाई सहज बनाउँछ।

यी फ्रेमवर्कहरूले विकासकर्ताहरूलाई उनीहरूको अनुप्रयोगका अनौठा पक्षहरूमा केन्द्रित हुन मद्दत गर्छन् किनकि तिनीहरूले एआई एजेन्ट विकासका सामान्य चुनौतीहरूमा मानकीकृत दृष्टिकोणहरू प्रदान गर्छन्। तिनीहरूले एआई प्रणाली निर्माणमा स्केलेबिलिटी, पहुँचयोग्यता, र दक्षता वृद्धि गर्छन्।

परिचय

यो पाठले समेट्नेछ:

सिकाइ लक्ष्यहरू

यस पाठका लक्ष्यहरू तपाईंलाई बुझ्न मद्दत गर्ने छन्:

एआई एजेन्ट फ्रेमवर्कहरू के हुन् र तिनीहरूले विकासकर्ताहरूलाई के गर्न सक्षम बनाउँछन्?

परम्परागत एआई फ्रेमवर्कहरूले तपाईंलाई तपाईंका अनुप्रयोगहरूमा एआई समेकन गर्न र ती अनुप्रयोगहरूलाई तलका तरिकाहरूले अझ राम्रो बनाउन मद्दत गर्न सक्छन्:

त्यो सबै राम्रो सुनिन्छ नि, त एआई एजेन्ट फ्रेमवर्क किन चाहिन्छ?

एआई एजेन्ट फ्रेमवर्कहरू केवल एआई फ्रेमवर्कहरू भन्दा बढी कुरालाई प्रतिनिधित्व गर्छन्। तिनीहरू ती बुद्धिमान एजेन्टहरूको सिर्जना सक्षम बनाउन डिजाइन गरिएका हुन्छन् जसले प्रयोगकर्ताहरू, अन्य एजेन्टहरू, र वातावरणसँग अन्तरक्रिया गरेर विशिष्ट लक्ष्यहरू पूरा गर्न सक्छन्। यी एजेन्टहरूले स्वायत्त व्यवहार प्रदर्शन गर्न, निर्णय लिन, र परिवर्तनशील अवस्थाहरूमा अनुकूलन गर्न सक्छन्। एआई एजेन्ट फ्रेमवर्कहरूले सक्षम बनाउने केही प्रमुख क्षमताहरू हेर्नुहोस्:

सारमा, एजेन्टहरूले तपाईंलाई बढी गर्न अनुमति दिन्छन्, स्वचालनलाई अर्को स्तरमा लैजान्छन्, र वातावरणबाट अनुकूलन र सिक्न सक्ने बढी बुद्धिमान प्रणालीहरू सिर्जना गर्न मद्दत गर्छन्।

कसरी छिटो प्रोटोटाइप, पुनरावृत्ति, र एजेन्टका क्षमताहरू सुधार गर्ने?

यो द्रुत गतिमा परिवर्तन हुने क्षेत्र हो, तर अधिकाँश एआई एजेन्ट फ्रेमवर्कहरूमा केही साझा तत्वहरू छन् जसले छिटो प्रोटोटाइप र पुनरावृत्तिमा मद्दत गर्छन् — जस्तै मोडुलर कम्पोनेन्टहरू, सहकार्यात्मक उपकरणहरू, र वास्तविक-समय सिकाइ। यीमध्ये हेरौं:

मोडुलर कम्पोनेन्टहरू प्रयोग गर्नुहोस्

Microsoft Semantic Kernel र LangChain जस्ता SDKs ले एआई कनेक्टरहरू, प्रम्प्ट टेम्प्लेटहरू, र मेमोरी व्यवस्थापन जस्ता पूर्व-निर्मित कम्पोनेन्टहरू प्रदान गर्दछन्।

टीमहरूले यीलाई कसरी प्रयोग गर्न सक्छन्: टीमहरूले यी कम्पोनेन्टहरूलाई छिटो जोडेर कार्यशील प्रोटोटाइप सिर्जना गर्न सक्छन् बिना सुरुबाट नै निर्माण गर्नुपर्ने, जसले द्रुत प्रयोग र पुनरावृत्तिलाई सम्भव बनाउँछ।

व्यावहारिक रूपमा कसरी काम गर्छ: तपाईं प्रयोगकर्ताको इनपुटबाट सूचना निकाल्न पूर्व-निर्मित पार्सर प्रयोग गर्न सक्नुहुन्छ, डेटा भण्डारण र फिर्ताका लागि मेमोरी मोड्युल प्रयोग गर्न सक्नुहुन्छ, र प्रयोगकर्तासँग अन्तरक्रिया गर्न प्रम्प्ट जेनेरेटर प्रयोग गर्न सक्नुहुन्छ — ती सबै बिना शून्यबाट यी कम्पोनेन्टहरू बनाएको।

उदाहरण कोड. Semantic Kernel Python र .Net सँग कसरी पूर्व-निर्मित एआई कनेक्टर प्रयोग गरी मोडललाई प्रयोगकर्ताको इनपुटमा प्रतिक्रिया दिन auto-function calling प्रयोग गर्न सकिन्छ भनी उदाहरणहरू तल छन्:

# सेम्यान्टिक कर्नेल पाइथन उदाहरण

import asyncio
from typing import Annotated

from semantic_kernel.connectors.ai import FunctionChoiceBehavior
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, AzureChatPromptExecutionSettings
from semantic_kernel.contents import ChatHistory
from semantic_kernel.functions import kernel_function
from semantic_kernel.kernel import Kernel

# कुराकानीको सन्दर्भ राख्नको लागि ChatHistory वस्तु परिभाषित गर्नुहोस्
chat_history = ChatHistory()
chat_history.add_user_message("I'd like to go to New York on January 1, 2025")


# यात्रा बुक गर्ने कार्य समावेश गर्ने नमूना प्लगइन परिभाषित गर्नुहोस्
class BookTravelPlugin:
    """A Sample Book Travel Plugin"""

    @kernel_function(name="book_flight", description="Book travel given location and date")
    async def book_flight(
        self, date: Annotated[str, "The date of travel"], location: Annotated[str, "The location to travel to"]
    ) -> str:
        return f"Travel was booked to {location} on {date}"

# कर्नेल सिर्जना गर्नुहोस्
kernel = Kernel()

# नमूना प्लगइनलाई कर्नेल वस्तुमा थप्नुहोस्
kernel.add_plugin(BookTravelPlugin(), plugin_name="book_travel")

# Azure OpenAI AI कनेक्टर परिभाषित गर्नुहोस्
chat_service = AzureChatCompletion(
    deployment_name="YOUR_DEPLOYMENT_NAME", 
    api_key="YOUR_API_KEY", 
    endpoint="https://<your-resource>.azure.openai.com/",
)

# आटो-फंक्शन कलिंगसहित मोडेल कन्फिगर गर्न अनुरोध सेटिङहरू परिभाषित गर्नुहोस्
request_settings = AzureChatPromptExecutionSettings(function_choice_behavior=FunctionChoiceBehavior.Auto())


async def main():
    # दिइएको कुराकानी इतिहास र अनुरोध सेटिङहरूका लागि मोडेलमा अनुरोध गर्नुहोस्
    # कर्नेलमा नमूना समावेश छ जुन मोडेलले कल गर्न अनुरोध गर्नेछ
    response = await chat_service.get_chat_message_content(
        chat_history=chat_history, settings=request_settings, kernel=kernel
    )
    assert response is not None

    """
    Note: In the auto function calling process, the model determines it can invoke the 
    `BookTravelPlugin` using the `book_flight` function, supplying the necessary arguments. 
    
    For example:

    "tool_calls": [
        {
            "id": "call_abc123",
            "type": "function",
            "function": {
                "name": "BookTravelPlugin-book_flight",
                "arguments": "{'location': 'New York', 'date': '2025-01-01'}"
            }
        }
    ]

    Since the location and date arguments are required (as defined by the kernel function), if the 
    model lacks either, it will prompt the user to provide them. For instance:

    User: Book me a flight to New York.
    Model: Sure, I'd love to help you book a flight. Could you please specify the date?
    User: I want to travel on January 1, 2025.
    Model: Your flight to New York on January 1, 2025, has been successfully booked. Safe travels!
    """

    print(f"`{response}`")
    # उदाहरण AI मोडेल उत्तर: `तपाईंको जनवरी १, २०२५ मा न्यूयोर्क जाने उडान सफलतापूर्वक बुक गरिएको छ। सुरक्षित यात्रा! ✈️🗽`

    # मोडेलको प्रतिक्रिया हाम्रो कुराकानी इतिहास सन्दर्भमा थप्नुहोस्
    chat_history.add_assistant_message(response.content)


if __name__ == "__main__":
    asyncio.run(main())
// Semantic Kernel C# example

using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.ChatCompletion;
using System.ComponentModel;
using Microsoft.SemanticKernel.Connectors.AzureOpenAI;

ChatHistory chatHistory = [];
chatHistory.AddUserMessage("I'd like to go to New York on January 1, 2025");

var kernelBuilder = Kernel.CreateBuilder();
kernelBuilder.AddAzureOpenAIChatCompletion(
    deploymentName: "NAME_OF_YOUR_DEPLOYMENT",
    apiKey: "YOUR_API_KEY",
    endpoint: "YOUR_AZURE_ENDPOINT"
);
kernelBuilder.Plugins.AddFromType<BookTravelPlugin>("BookTravel"); 
var kernel = kernelBuilder.Build();

var settings = new AzureOpenAIPromptExecutionSettings()
{
    FunctionChoiceBehavior = FunctionChoiceBehavior.Auto()
};

var chatCompletion = kernel.GetRequiredService<IChatCompletionService>();

var response = await chatCompletion.GetChatMessageContentAsync(chatHistory, settings, kernel);

/*
Behind the scenes, the model recognizes the tool to call, what arguments it already has (location) and (date)
{

"tool_calls": [
    {
        "id": "call_abc123",
        "type": "function",
        "function": {
            "name": "BookTravelPlugin-book_flight",
            "arguments": "{'location': 'New York', 'date': '2025-01-01'}"
        }
    }
]
*/

Console.WriteLine(response.Content);
chatHistory.AddMessage(response!.Role, response!.Content!);

// Example AI Model Response: Your flight to New York on January 1, 2025, has been successfully booked. Safe travels! ✈️🗽

// Define a plugin that contains the function to book travel
public class BookTravelPlugin
{
    [KernelFunction("book_flight")]
    [Description("Book travel given location and date")]
    public async Task<string> BookFlight(DateTime date, string location)
    {
        return await Task.FromResult( $"Travel was booked to {location} on {date}");
    }
}

यस उदाहरणबाट तपाईंले देख्न सक्नुहुने कुरा के हो भने, तपाईंले प्रयोगकर्ताको इनपुटबाट मूल जानकारी (जस्तै उडान बुकिङ अनुरोधको सुरुस्थान, गन्तव्य, र मिति) निकाल्न पूर्व-निर्मित पार्सरलाई कसरी उपयोग गर्न सक्नुहुन्छ। यो मोडुलर दृष्टिकोणले तपाईंलाई उच्च-स्तरीय तर्कमा ध्यान केन्द्रित गर्न अनुमति दिन्छ।

सहकार्यात्मक उपकरणहरू उपयोग गर्नुहोस्

CrewAI, Microsoft AutoGen, र Semantic Kernel जस्ता फ्रेमवर्कहरूले एकैसाथ काम गर्न सक्ने बहु एजेन्टहरूको सिर्जनालाई सहज बनाउँछन्।

टीमहरूले यीलाई कसरी प्रयोग गर्न सक्छन्: टीमहरूले विशेष भूमिकाहरू र कार्यहरू भएका एजेन्टहरू डिजाइन गर्न सक्छन्, जसले तिनीहरूलाई सहकार्यात्मक कार्यप्रवाहहरूको परीक्षण र परिष्करण गर्न र समग्र प्रणाली दक्षता सुधार गर्न सक्षम बनाउँछ।

व्यावहारिक रूपमा कसरी काम गर्छ: तपाईंले एजेन्टहरूको एउटा टोली सिर्जना गर्न सक्नुहुन्छ जहाँ प्रत्येक एजेन्टसँग विशिष्ट कार्य हुन्छ, जस्तै डेटा पुनःप्राप्ति, विश्लेषण, वा निर्णय-निर्माण। यी एजेन्टहरू संवाद र जानकारी साझा गरेर साझा लक्ष्य पूरा गर्न सक्छन्, जस्तै प्रयोगकर्ताको प्रश्न उत्तर दिनु वा कुनै कार्य पूरा गर्नु।

उदाहरण कोड (AutoGen):

# एजेन्टहरू सिर्जना गर्दै, त्यसपछि उनीहरू सँगै काम गर्न सक्ने राउन्ड रोबिन तालिका सिर्जना गर्दै, यस केसमा क्रम अनुसार

# डाटा पुनःप्राप्ति एजेण्ट
# डाटा विश्लेषण एजेण्ट
# निर्णय निर्माण एजेण्ट

agent_retrieve = AssistantAgent(
    name="dataretrieval",
    model_client=model_client,
    tools=[retrieve_tool],
    system_message="Use tools to solve tasks."
)

agent_analyze = AssistantAgent(
    name="dataanalysis",
    model_client=model_client,
    tools=[analyze_tool],
    system_message="Use tools to solve tasks."
)

# प्रयोगकर्ताले "APPROVE" भन्छन् भने संवाद समाप्त हुन्छ
termination = TextMentionTermination("APPROVE")

user_proxy = UserProxyAgent("user_proxy", input_func=input)

team = RoundRobinGroupChat([agent_retrieve, agent_analyze, user_proxy], termination_condition=termination)

stream = team.run_stream(task="Analyze data", max_turns=10)
# स्क्रिप्टमा चलाउँदा asyncio.run(...) प्रयोग गर्नुहोस्।
await Console(stream)

अघिको कोडमा तपाईंले देख्नुहुने कुरा यो हो कि कसरी बहु एजेन्टहरू सँगै काम गरेर डेटा विश्लेषण गर्ने कार्य सिर्जना गर्न सकिन्छ। प्रत्येक एजेन्टले विशेष कार्य गर्छ, र चाहिने परिणाम प्राप्त गर्न एजेन्टहरूलाई समन्वय गरेर कार्य निष्पादन गरिन्छ। विशेष भूमिकाहरू भएका समर्पित एजेन्टहरू सिर्जना गर्दा कार्य दक्षता र प्रदर्शन सुधार गर्न सकिन्छ।

वास्तविक-समयमा सिक्नुहोस्

उन्नत फ्रेमवर्कहरूले वास्तविक-समय सन्दर्भको समझ र अनुकूलनका लागि क्षमताहरू प्रदान गर्छन्।

टीमहरूले यीलाई कसरी प्रयोग गर्न सक्छन्: टीमहरूले यस्तो फिडब्याक लूपहरू लागू गर्न सक्छन् जहाँ एजेन्टहरूले अन्तरक्रियाबाट सिक्छन् र आफ्नो व्यवहार गतिशील रूपमा समायोजन गर्छन्, जसले निरन्तर सुधार र क्षमताहरूको परिष्कार सम्भव बनाउँछ।

व्यावहारिक रूपमा कसरी काम गर्छ: एजेन्टहरूले प्रयोगकर्ताको फिडब्याक, वातावरणीय डेटा, र कार्य परिणामहरू विश्लेषण गरेर आफ्नो ज्ञान आधार अद्यावधिक गर्न, निर्णय-निर्माण एल्गोरिथ्म समायोजन गर्न, र समयसँगै प्रदर्शन सुधार गर्न सक्छन्। यो पुनरावृत्तिमूलक सिकाइ प्रक्रिया एजेन्टहरूलाई परिवर्तनशील परिस्थितिहरू र प्रयोगकर्ता प्राथमिकताहरूमा अनुकूलन गर्न सक्षम बनाउँछ, जसले समग्र प्रणाली प्रभावकारिता बढाउँछ।

AutoGen, Semantic Kernel र Azure AI Agent Service बीच के फरकहरू छन्?

यी फ्रेमवर्कहरू तुलना गर्ने अनेक तरिकाहरू छन्, तर डिजाइन, क्षमताहरू, र लक्षित प्रयोग केसहरूको सन्दर्भमा केही प्रमुख फरकहरू तल हेर्नुहोस्:

AutoGen

AutoGen Microsoft Research को AI Frontiers Lab द्वारा विकास गरिएको ओपन-सोर्स फ्रेमवर्क हो। यसले इभेन्ट-ड्राइवेन, वितरण गरिएको agentic अनुप्रयोगहरूमा केन्द्रित छ, जसले धेरै LLMs र SLMs, उपकरणहरू, र उन्नत बहु-एजेन्ट डिजाइन ढाँचाहरू सक्षम बनाउँछ।

AutoGen को केन्द्रिय अवधारणा एजेन्टहरूमा आधारित छ, जुन स्वायत्त इकाइहरू हुन् जसले आफ्नो वातावरणलाई ग्रहण गर्न, निर्णय लिन, र विशिष्ट लक्ष्यहरू प्राप्त गर्न कार्यहरू गर्न सक्छन्। एजेन्टहरूले एसिन्क्रोनस सन्देशहरू मार्फत सञ्चार गर्छन्, जसले तिनीहरूलाई स्वतन्त्र र समानान्तर काम गर्न अनुमति दिन्छ, प्रणालीको स्केलेबिलिटी र प्रत्युत्तरक्षमता वृद्धि गर्दछ।

एजेन्टहरू अभिनेता मोडेलमा आधारित छन्. विकिपिडियाका अनुसार, एक अभिनेता समवर्ती गणनाको आधारभूत निर्माण ब्लक हो। प्राप्त गरिएको सन्देशको प्रतिक्रिया स्वरूप, एक अभिनेता गर्न सक्छ: स्थानीय निर्णय लिनु, थप अभिनेता सिर्जना गर्नु, थप सन्देशहरू पठाउनु, र प्राप्त हुने अर्को सन्देशमा कसरी प्रतिक्रिया दिने निर्धारण गर्नु।

प्रयोग केसहरू: कोड जेनेरेसन स्वचालितकरण, डेटा विश्लेषण कार्यहरू, र योजना र अनुसन्धान कार्यहरूको लागि अनुकूलित एजेन्टहरू निर्माण गर्नु।

यहाँ AutoGen का केही महत्वपूर्ण केन्द्रिय अवधारणाहरू छन्:

Semantic Kernel + एजेन्ट फ्रेमवर्क

Semantic Kernel एक एन्त्रप्राइज-रेडी एआई ओरकेस्ट्रेशन SDK हो। यसमा एआई र मेमोरी कनेक्टर्स छन्, साथै एउटा एजेन्ट फ्रेमवर्क पनि समावेश छ।

पहिले केही केन्द्रिय कम्पोनेन्टहरू कभर गरौं:

त्यसैले त्यो Semantic Kernel फ्रेमवर्कका आधारहरू हुन्, Agent Framework को ke बारेमा के भनौं?

Azure AI Agent Service

Azure AI Agent Service हालैको थपिएको सेवा हो, जुन Microsoft Ignite 2024 मा प्रस्तुत गरिएको थियो। यसले Llama 3, Mistral, र Cohere जस्ता open-source LLMs लाई सिधै कल गर्ने जस्ता लचिलो मोडेलहरूसँग AI एजेन्टहरू विकास र परिनियोजन गर्न अनुमति दिन्छ।

Azure AI Agent Service ले बलियो उद्यम सुरक्षा संयन्त्र र डेटा भण्डारण विधिहरू प्रदान गर्छ, जसले यसलाई उद्यम अनुप्रयोगहरूका लागि उपयुक्त बनाउँछ।

यो AutoGen र Semantic Kernel जस्ता बहु-एजेन्ट ऑर्केस्ट्रेशन फ्रेमवर्कहरूसँग आउट-ऑफ-द-बक्स काम गर्छ।

यो सेवा हाल Public Preview मा छ र एजेन्टहरू निर्माण गर्न Python र C# समर्थन गर्दछ।

Semantic Kernel Python प्रयोग गरेर, हामी प्रयोगकर्ताद्वारा परिभाषित प्लगइन सहित एउटा Azure AI Agent सिर्जना गर्न सक्छौं:

import asyncio
from typing import Annotated

from azure.identity.aio import DefaultAzureCredential

from semantic_kernel.agents import AzureAIAgent, AzureAIAgentSettings, AzureAIAgentThread
from semantic_kernel.contents import ChatMessageContent
from semantic_kernel.contents import AuthorRole
from semantic_kernel.functions import kernel_function


# नमूना को लागि एउटा नमुना प्लगइन परिभाषित गर्नुहोस्
class MenuPlugin:
    """A sample Menu Plugin used for the concept sample."""

    @kernel_function(description="Provides a list of specials from the menu.")
    def get_specials(self) -> Annotated[str, "Returns the specials from the menu."]:
        return """
        Special Soup: Clam Chowder
        Special Salad: Cobb Salad
        Special Drink: Chai Tea
        """

    @kernel_function(description="Provides the price of the requested menu item.")
    def get_item_price(
        self, menu_item: Annotated[str, "The name of the menu item."]
    ) -> Annotated[str, "Returns the price of the menu item."]:
        return "$9.99"


async def main() -> None:
    ai_agent_settings = AzureAIAgentSettings.create()

    async with (
        DefaultAzureCredential() as creds,
        AzureAIAgent.create_client(
            credential=creds,
            conn_str=ai_agent_settings.project_connection_string.get_secret_value(),
        ) as client,
    ):
        # एजेन्ट परिभाषा सिर्जना गर्नुहोस्
        agent_definition = await client.agents.create_agent(
            model=ai_agent_settings.model_deployment_name,
            name="Host",
            instructions="Answer questions about the menu.",
        )

        # परिभाषित क्लाइन्ट र एजेन्ट परिभाषा प्रयोग गरेर AzureAI एजेन्ट सिर्जना गर्नुहोस्
        agent = AzureAIAgent(
            client=client,
            definition=agent_definition,
            plugins=[MenuPlugin()],
        )

        # कुराकानी राख्नको लागि थ्रेड सिर्जना गर्नुहोस्
        # यदि कुनै थ्रेड प्रदान गरिएको छैन भने, नयाँ थ्रेड सिर्जना हुनेछ
        # सुरुआत्मक प्रतिक्रिया संग फिर्ता हुनेछ
        thread: AzureAIAgentThread | None = None

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

        try:
            for user_input in user_inputs:
                print(f"# User: '{user_input}'")
                # निर्दिष्ट थ्रेडका लागि एजेन्टलाई आह्वान गर्नुहोस्
                response = await agent.get_response(
                    messages=user_input,
                    thread_id=thread,
                )
                print(f"# {response.name}: {response.content}")
                thread = response.thread
        finally:
            await thread.delete() if thread else None
            await client.agents.delete_agent(agent.id)


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

प्रमुख अवधारणाहरू

Azure AI Agent Service का निम्न प्रमुख अवधारणाहरू छन्:

Use Cases: Azure AI Agent Service लाई सुरक्षित, स्केलेबल, र लचीला AI एजेन्ट परिनियोजन आवश्यक पर्ने उद्यम अनुप्रयोगहरूको लागि डिजाइन गरिएको छ।

यी फ्रेमवर्कहरूबीच के फरक छ?

यी फ्रेमवर्कहरूबीच धेरै ओभरलाप जस्तो लाग्छ, तर तिनीहरूको डिजाइन, क्षमता, र लक्षित प्रयोग केसका हिसाबले केही प्रमुख भिन्नताहरू छन्:

अझै पक्का हुनुहुन्न कुन रोज्ने?

प्रयोगका केसहरू

हामी केहि सामान्य प्रयोग केसहरू मार्फत गएर तपाईंलाई मद्दत गर्न सक्छौं कि हेर्नुहोस्:

Q: म अन्वेषण गर्दैछु, सिक्दैछु र प्रमाण-प्रविधि (proof-of-concept) एजेन्ट अनुप्रयोगहरू बनाइरहेको छु, र म छिटो निर्माण र परीक्षण गर्न सक्षम हुन चाहन्छु

A: AutoGen यस परिदृश्यका लागि राम्रो विकल्प हुनेछ, किनकि यसले घटना-चालित, वितरित एजेन्टिक अनुप्रयोगहरूमा केन्द्रित छ र उन्नत बहु-एजेन्ट डिजाइन ढाँचाहरूलाई समर्थन गर्दछ।

Q: यस प्रयोग केसका लागि AutoGen लाई Semantic Kernel र Azure AI Agent Serviceभन्दा उत्तम बनाउने के हो?

A: AutoGen विशेष रूपमा घटना-चालित, वितरित एजेन्टिक अनुप्रयोगहरूका लागि डिजाइन गरिएको हो, जसले कोड उत्पादन र डेटा विश्लेषण कार्यहरूलाई स्वचालित गर्न उपयुक्त बनाउँछ। यसले जटिल बहु-एजेन्ट प्रणालीहरू कुशलतापूर्वक निर्माण गर्न आवश्यक उपकरण र क्षमताहरू प्रदान गर्दछ।

Q: सुनिँदैमा Azure AI Agent Service पनि यहाँ काम गर्न सक्छ, यसमा कोड जेनेरेशन र थपका लागि उपकरणहरू छन् भने?

A: हो, Azure AI Agent Service एजेन्टहरूको लागि एक प्लेटफर्म सेवा हो र बहु मोडेलहरू, Azure AI Search, Bing Search र Azure Functions का लागि निर्मित क्षमताहरू थप गर्दछ। यसले Foundry Portal मा तपाईंका एजेन्टहरू सजिलै बनाउने र स्केलमा परिनियोजन गर्ने कामलाई सजिलो बनाउँछ।

Q: म अझै अलमलमा छु, कृपया मलाई एउटा विकल्प मात्र दिनुहोस्

A: एउटा उत्कृष्ट विकल्प भनेको पहिले Semantic Kernel मा तपाईंको आवेदन निर्माण गर्नु र त्यसपछि Azure AI Agent Service मार्फत तपाईंको एजेन्ट परिनियोजन गर्नु हो। यसले तपाईंलाई सजिलैसँग तपाईंका एजेन्टहरूलाई परिपक्व बनाउने र Semantic Kernel मा बहु-एजेन्ट प्रणालीहरू निर्माण गर्ने शक्तिलाई उपयोग गर्ने मौका दिन्छ। थप रूपमा, Semantic Kernel सँग AutoGen मा एक कनेक्टर छ, जसले दुवै फ्रेमवर्कहरूलाई सँगै प्रयोग गर्न सजिलो बनाउँछ।

हामीले मुख्य भिन्नताहरूलाई तालिकामा सारांश गरौं:

Framework Focus Core Concepts Use Cases
AutoGen घटना-चालित, वितरित एजेन्टिक अनुप्रयोगहरू Agents, Personas, Functions, Data कोड जेनेरेशन, डेटा विश्लेषण कार्यहरू
Semantic Kernel मानव-जस्तै पाठलाई बुझ्न र उत्पादन गर्न Agents, Modular Components, Collaboration प्राकृतिक भाषा बुझाइ, सामग्री सिर्जना
Azure AI Agent Service लचिला मोडेलहरू, उद्यम सुरक्षा, कोड जेनेरेशन, उपकरण कल गर्ने क्षमता Modularity, Collaboration, Process Orchestration सुरक्षित, स्केलेबल, र लचिला AI एजेन्ट परिनियोजन

यी फ्रेमवर्कहरूमध्ये प्रत्येकको लागि आदर्श प्रयोग केस के हो?

के म मेरो अवस्थित Azure इकोसिस्टम उपकरणहरू सिधै एकीकृत गर्न सक्छु, वा मलाई स्ट्यान्डअलोन् समाधानहरू चाहिन्छ?

उत्तर हो, तपाइँले आफ्नो अवस्थित Azure इकोसिस्टम उपकरणहरू सिधै Azure AI Agent Service सँग एकीकृत गर्न सक्नुहुन्छ, विशेष गरी किनकि यो अन्य Azure सेवाहरूसँग निर्बाध रूपमा काम गर्न बनाईएको हो। उदाहरणका लागि, तपाईं Bing, Azure AI Search, र Azure Functions एकीकृत गर्न सक्नुहुन्छ। Microsoft Foundry सँग पनि गहिरो एकीकरण छ।

AutoGen र Semantic Kernel का लागि पनि, तपाईं Azure सेवाहरूसँग एकीकृत गर्न सक्नुहुन्छ, तर यसले तपाईंको कोडबाट Azure सेवाहरू कल गर्न आवश्यक पर्न सक्छ। एक अर्को तरिका भनेको एजेन्टहरूबाट Azure सेवाहरूसँग अन्तरक्रिया गर्न Azure SDKs प्रयोग गर्नु हो। थप रूपमा, जस्तै पहिले उल्लेख गरिएको छ, तपाईं AutoGen वा Semantic Kernel मा निर्माण गरिएका एजेन्टहरूको लागि ऑर्केस्ट्रेटरको रूपमा Azure AI Agent Service प्रयोग गर्न सक्नुहुन्छ जसले Azure इकोसिस्टममा सजिलै पहुँच दिन्छ।

नमूना कोडहरू

एआई एजेन्ट फ्रेमवर्कहरूबारे थप प्रश्नहरू छन्?

Join the Microsoft Foundry Discord अन्य सिक्दै गरेका व्यक्तिहरूसँग भेटघाट गर्न, कार्यालय समयहरूमा भाग लिन र तपाईंका AI Agents सम्बन्धी प्रश्नहरूको जवाफ पाउन।

स्रोतहरू

अघिल्लो पाठ

Introduction to AI Agents and Agent Use Cases

अर्को पाठ

Understanding Agentic Design Patterns


अस्वीकरण: यो दस्तावेज AI अनुवाद सेवा Co‑op Translator (https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको हो। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटि वा अपूर्णता हुन सक्छ। मूल दस्तावेजलाई यसको मूल भाषामा रहेको प्रतिलिपि नै आधिकारिक स्रोत मान्नुहोस्। महत्वपूर्ण जानकारीका लागि पेशेवर मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार छैनौं।