(Κάντε κλικ στην εικόνα παραπάνω για να δείτε το βίντεο αυτού του μαθήματος)
Τα πλαίσια πρακτόρων AI είναι λογισμικά που έχουν σχεδιαστεί για να απλοποιούν τη δημιουργία, την ανάπτυξη και τη διαχείριση πρακτόρων AI. Αυτά τα πλαίσια παρέχουν στους προγραμματιστές προκατασκευασμένα στοιχεία, αφαιρέσεις και εργαλεία που διευκολύνουν την ανάπτυξη σύνθετων συστημάτων AI.
Αυτά τα πλαίσια βοηθούν τους προγραμματιστές να επικεντρωθούν στις μοναδικές πτυχές των εφαρμογών τους, παρέχοντας τυποποιημένες προσεγγίσεις στις κοινές προκλήσεις της ανάπτυξης πρακτόρων AI. Ενισχύουν την κλιμακωσιμότητα, την προσβασιμότητα και την αποτελεσματικότητα στην κατασκευή συστημάτων AI.
Αυτό το μάθημα θα καλύψει:
Ποιες είναι οι διαφορές μεταξύ των πλαισίων και εργαλείων που δημιουργήθηκαν από τη Microsoft, και άλλους;
Οι στόχοι αυτού του μαθήματος είναι να σας βοηθήσουν να κατανοήσετε:
Τα παραδοσιακά Πλαίσια AI μπορούν να σας βοηθήσουν να ενσωματώσετε AI στις εφαρμογές σας και να τις βελτιώσετε με τους εξής τρόπους:
Τα Πλαίσια Πρακτόρων AI αντιπροσωπεύουν κάτι περισσότερο από απλά Πλαίσια AI. Έχουν σχεδιαστεί για να επιτρέπουν τη δημιουργία έξυπνων πρακτόρων που μπορούν να αλληλεπιδρούν με χρήστες, άλλους πράκτορες και το περιβάλλον για να επιτύχουν συγκεκριμένους στόχους. Αυτοί οι πράκτορες μπορούν να επιδεικνύουν αυτόνομη συμπεριφορά, να λαμβάνουν αποφάσεις και να προσαρμόζονται σε μεταβαλλόμενες συνθήκες. Ας δούμε μερικές βασικές δυνατότητες που παρέχονται από τα Πλαίσια Πρακτόρων AI:
Συνοψίζοντας, οι πράκτορες σας επιτρέπουν να κάνετε περισσότερα, να ανεβάσετε την αυτοματοποίηση σε επόμενο επίπεδο, να δημιουργήσετε πιο έξυπνα συστήματα που μπορούν να προσαρμόζονται και να μαθαίνουν από το περιβάλλον τους.
Αυτός είναι ένας ταχέως εξελισσόμενος τομέας, αλλά υπάρχουν ορισμένα κοινά στοιχεία στα περισσότερα Πλαίσια Πρακτόρων AI που μπορούν να σας βοηθήσουν να δημιουργήσετε γρήγορα πρωτότυπα και να επαναλάβετε, όπως τα αρθρωτά στοιχεία, τα συνεργατικά εργαλεία και η εκμάθηση σε πραγματικό χρόνο. Ας τα εξετάσουμε:
Τα SDK όπως το Microsoft Semantic Kernel και το LangChain προσφέρουν προκατασκευασμένα στοιχεία όπως συνδέσμους AI, πρότυπα προτροπών και διαχείριση μνήμης.
Πώς μπορούν να τα χρησιμοποιήσουν οι ομάδες: Οι ομάδες μπορούν να συναρμολογήσουν γρήγορα αυτά τα στοιχεία για να δημιουργήσουν ένα λειτουργικό πρωτότυπο χωρίς να ξεκινήσουν από το μηδέν, επιτρέποντας γρήγορη πειραματισμό και επανάληψη.
Πώς λειτουργεί στην πράξη: Μπορείτε να χρησιμοποιήσετε έναν προκατασκευασμένο αναλυτή για να εξαγάγετε πληροφορίες από την είσοδο του χρήστη, μια μονάδα μνήμης για να αποθηκεύσετε και να ανακτήσετε δεδομένα, και έναν δημιουργό προτροπών για να αλληλεπιδράσετε με τους χρήστες, όλα χωρίς να χρειάζεται να δημιουργήσετε αυτά τα στοιχεία από το μηδέν.
Παράδειγμα κώδικα. Ας δούμε παραδείγματα για το πώς μπορείτε να χρησιμοποιήσετε έναν προκατασκευασμένο συνδέσμο AI με το Semantic Kernel Python και .Net που χρησιμοποιεί αυτόματη κλήση λειτουργιών για να απαντήσει το μοντέλο στην είσοδο του χρήστη:
# Semantic Kernel Python Example
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
# Define a ChatHistory object to hold the conversation's context
chat_history = ChatHistory()
chat_history.add_user_message("I'd like to go to New York on January 1, 2025")
# Define a sample plugin that contains the function to book travel
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}"
# Create the Kernel
kernel = Kernel()
# Add the sample plugin to the Kernel object
kernel.add_plugin(BookTravelPlugin(), plugin_name="book_travel")
# Define the Azure OpenAI AI Connector
chat_service = AzureChatCompletion(
deployment_name="YOUR_DEPLOYMENT_NAME",
api_key="YOUR_API_KEY",
endpoint="https://<your-resource>.azure.openai.com/",
)
# Define the request settings to configure the model with auto-function calling
request_settings = AzureChatPromptExecutionSettings(function_choice_behavior=FunctionChoiceBehavior.Auto())
async def main():
# Make the request to the model for the given chat history and request settings
# The Kernel contains the sample that the model will request to invoke
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}`")
# Example AI Model Response: `Your flight to New York on January 1, 2025, has been successfully booked. Safe travels! ✈️🗽`
# Add the model's response to our chat history context
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):
# creating agents, then create a round robin schedule where they can work together, in this case in order
# Data Retrieval Agent
# Data Analysis Agent
# Decision Making Agent
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."
)
# conversation ends when user says "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)
# Use asyncio.run(...) when running in a script.
await Console(stream)
Αυτό που βλέπετε στον προηγούμενο κώδικα είναι πώς μπορείτε να δημιουργήσετε μια εργασία που περιλαμβάνει πολλαπλούς πράκτορες που συνεργάζονται για να αναλύσουν δεδομένα. Κάθε πράκτορας εκτελεί μια συγκεκριμένη λειτουργία, και η εργασία εκτελείται συντονίζοντας τους πράκτορες για να επιτύχουν το επιθυμητό αποτέλεσμα. Δημιουργώντας ειδικούς πράκτορες με εξειδικευμένους ρόλους, μπορείτε να βελτιώσετε την αποτελεσματικότητα και την απόδοση της εργασίας.
Τα προηγμένα πλαίσια παρέχουν δυνατότητες για κατανόηση του πλαισίου και προσαρμογή σε πραγματικό χρόνο.
Πώς μπορούν να τα χρησιμοποιήσουν οι ομάδες: Οι ομάδες μπορούν να εφαρμόσουν βρόχους ανατροφοδότησης όπου οι πράκτορες μαθαίνουν από αλληλεπιδράσεις και προσαρμόζουν τη συμπεριφορά τους δυναμικά, οδηγώντας σε συνεχή βελτίωση και αναβάθμιση των δυνατοτήτων.
Πώς λειτουργεί στην πράξη: Οι πράκτορες μπορούν να αναλύσουν την ανατροφοδότηση των χρηστών, δεδομένα περιβάλλοντος και αποτελέσματα εργασιών για να ενημερώσουν τη βάση γνώσεων τους, να προσαρμόσουν τους αλγόριθμους λήψης αποφάσεων και να βελτιώσουν την απόδοση με την πάροδο του χρόνου. Αυτή η διαδικασία επαναληπτικής μάθησης επιτρέπει στους πράκτορες να προσαρμόζονται σε μεταβαλλόμενες συνθήκες και προτιμήσεις χρηστών, ενισχύοντας τη συνολική αποτελεσματικότητα του συστήματος.
Υπάρχουν πολλοί τρόποι για να συγκρίνετε αυτά τα πλαίσια, αλλά ας δούμε μερικές βασικές διαφορές όσον αφορά τον σχεδιασμό, τις δυνατότητες και τις στοχευμένες περιπτώσεις χρήσης:
Το AutoGen είναι ένα πλαίσιο ανοιχτού κώδικα που αναπτύχθηκε από το AI Frontiers Lab της Microsoft Research. Εστιάζει σε εφαρμογές που βασίζονται σε γεγονότα και διανεμημένες agentic εφαρμογές, επιτρέποντας πολλαπλά LLMs και SLMs, εργαλεία και προηγμένα σχέδια πολλαπλών πρακτόρων.
Το AutoGen βασίζεται στην κεντρική ιδέα των πρακτόρων, οι οποίοι είναι αυτόνομες οντότητες που μπορούν να αντιλαμβάνονται το περιβάλλον τους, να λαμβάνουν αποφάσεις και να αναλαμβάνουν δράσεις για να επιτύχουν συγκεκριμένους στόχους. Οι πράκτορες επικοινωνούν μέσω ασύγχρονων μηνυμάτων, επιτρέποντάς τους να εργάζονται ανεξάρτητα και παράλληλα, ενισχύοντας την κλιμακωσιμότητα και την ανταπόκριση του συστήματος.
Σύμφωνα με τη Wikipedia, ένας actor είναι το βασικό δομικό στοιχείο του ταυτόχρονου υπολογισμού. Σε απάντηση σε ένα μήνυμα που λαμβάνει, ένας actor μπορεί: να λαμβάνει τοπικές αποφάσεις, να δημιουργεί περισσότερους actors, να στέλνει περισσότερα μηνύματα και να καθορίζει πώς να ανταποκριθεί στο επόμενο μήνυμα που θα λάβει.
Περιπτώσεις Χρήσης: Αυτοματοποίηση δημιουργίας κώδικα, εργασίες ανάλυσης δεδομένων και δημιουργία προσαρμοσμένων πρακτόρων για λειτουργίες σχεδιασμού και έρευνας.
Ακολουθούν μερικές σημαντικές βασικές έννοιες του AutoGen:
Εδώ έχετε ένα σύντομο απόσπασμα κώδικα στο οποίο δημιουργείτε τον δικό σας πράκτορα με δυνατότητες συνομιλίας:
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.messages import TextMessage
from autogen_ext.models.openai import OpenAIChatCompletionClient
class MyAssistant(RoutedAgent):
def __init__(self, name: str) -> None:
super().__init__(name)
model_client = OpenAIChatCompletionClient(model="gpt-4o")
self._delegate = AssistantAgent(name, model_client=model_client)
@message_handler
async def handle_my_message_type(self, message: MyMessageType, ctx: MessageContext) -> None:
print(f"{self.id.type} received message: {message.content}")
response = await self._delegate.on_messages(
[TextMessage(content=message.content, source="user")], ctx.cancellation_token
)
print(f"{self.id.type} responded: {response.chat_message.content}")
Στον προηγούμενο κώδικα, δημιουργήθηκε το MyAssistant
και κληρονομεί από το RoutedAgent
. Έχει έναν χειριστή μηνυμάτων που εκτυπώνει το περιεχόμενο του μηνύματος και στη συνέχεια στέλνει μια απάντηση χρησιμοποιώντας τον αντιπρόσωπο AssistantAgent
. Σημειώστε ιδιαίτερα πώς αναθέτουμε στο self._delegate
μια παρουσία του AssistantAgent
, που είναι ένας προκατασκευασμένος πράκτορας που μπορεί να χειριστεί ολοκληρώσεις συνομιλιών.
Ας ενημερώσουμε το AutoGen για αυτόν τον τύπο πράκτορα και ας ξεκινήσουμε το πρόγραμμα:
# main.py
runtime = SingleThreadedAgentRuntime()
await MyAgent.register(runtime, "my_agent", lambda: MyAgent())
runtime.start() # Start processing messages in the background.
await runtime.send_message(MyMessageType("Hello, World!"), AgentId("my_agent", "default"))
Στον προηγούμενο κώδικα, οι πράκτορες καταχωρούνται στο runtime και στη συνέχεια αποστέλλεται ένα μήνυμα στον πράκτορα, με αποτέλεσμα την ακόλουθη έξοδο:
# Output from the console:
my_agent received message: Hello, World!
my_assistant received message: Hello, World!
my_assistant responded: Hello! How can I assist you today?
Η υπηρεσία Azure AI Agent Service είναι μια πιο πρόσφατη προσθήκη, που παρουσιάστηκε στο Microsoft Ignite 2024. Επιτρέπει την ανάπτυξη και την υλοποίηση AI agents με πιο ευέλικτα μοντέλα, όπως η άμεση κλήση ανοιχτού κώδικα LLMs όπως Llama 3, Mistral και Cohere.
Η υπηρεσία Azure AI Agent Service παρέχει ισχυρούς μηχανισμούς ασφάλειας για επιχειρήσεις και μεθόδους αποθήκευσης δεδομένων, καθιστώντας την κατάλληλη για επιχειρηματικές εφαρμογές.
Λειτουργεί άμεσα με πλαίσια ορχήστρωσης πολλαπλών agents όπως AutoGen και Semantic Kernel.
Αυτή η υπηρεσία βρίσκεται αυτή τη στιγμή σε Δημόσια Προεπισκόπηση και υποστηρίζει Python και C# για τη δημιουργία agents.
Χρησιμοποιώντας το Semantic Kernel Python, μπορούμε να δημιουργήσουμε έναν Azure AI Agent με ένα plugin που ορίζεται από τον χρήστη:
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
# Define a sample plugin for the sample
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,
):
# Create agent definition
agent_definition = await client.agents.create_agent(
model=ai_agent_settings.model_deployment_name,
name="Host",
instructions="Answer questions about the menu.",
)
# Create the AzureAI Agent using the defined client and agent definition
agent = AzureAIAgent(
client=client,
definition=agent_definition,
plugins=[MenuPlugin()],
)
# Create a thread to hold the conversation
# If no thread is provided, a new thread will be
# created and returned with the initial response
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}'")
# Invoke the agent for the specified thread
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 περιλαμβάνει τις εξής βασικές έννοιες:
Agent. Η υπηρεσία Azure AI Agent Service ενσωματώνεται με το Azure AI Foundry. Μέσα στο AI Foundry, ένας AI Agent λειτουργεί ως “έξυπνη” μικροϋπηρεσία που μπορεί να χρησιμοποιηθεί για να απαντήσει σε ερωτήσεις (RAG), να εκτελέσει ενέργειες ή να αυτοματοποιήσει πλήρως ροές εργασίας. Το πετυχαίνει αυτό συνδυάζοντας τη δύναμη των γενετικών μοντέλων AI με εργαλεία που του επιτρέπουν να έχει πρόσβαση και να αλληλεπιδρά με πραγματικές πηγές δεδομένων. Ακολουθεί ένα παράδειγμα agent:
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,
)
Στο παράδειγμα αυτό, δημιουργείται ένας agent με το μοντέλο gpt-4o-mini
, ένα όνομα my-agent
, και οδηγίες You are helpful agent
. Ο agent είναι εξοπλισμένος με εργαλεία και πόρους για να εκτελεί εργασίες ερμηνείας κώδικα.
Thread και μηνύματα. Το thread είναι μια άλλη σημαντική έννοια. Αντιπροσωπεύει μια συνομιλία ή αλληλεπίδραση μεταξύ ενός agent και ενός χρήστη. Τα threads μπορούν να χρησιμοποιηθούν για την παρακολούθηση της προόδου μιας συνομιλίας, την αποθήκευση πληροφοριών πλαισίου και τη διαχείριση της κατάστασης της αλληλεπίδρασης. Ακολουθεί ένα παράδειγμα 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}")
Στον προηγούμενο κώδικα, δημιουργείται ένα thread. Στη συνέχεια, αποστέλλεται ένα μήνυμα στο thread. Με την κλήση create_and_process_run
, ζητείται από τον agent να εκτελέσει εργασία στο thread. Τέλος, τα μηνύματα ανακτώνται και καταγράφονται για να δούμε την απάντηση του agent. Τα μηνύματα δείχνουν την πρόοδο της συνομιλίας μεταξύ του χρήστη και του agent. Είναι επίσης σημαντικό να κατανοήσουμε ότι τα μηνύματα μπορεί να είναι διαφορετικών τύπων, όπως κείμενο, εικόνα ή αρχείο, δηλαδή η εργασία του agent έχει ως αποτέλεσμα, για παράδειγμα, μια εικόνα ή μια απάντηση κειμένου. Ως προγραμματιστής, μπορείτε να χρησιμοποιήσετε αυτές τις πληροφορίες για περαιτέρω επεξεργασία της απάντησης ή για την παρουσίασή της στον χρήστη.
Ενσωμάτωση με άλλα πλαίσια AI. Η υπηρεσία Azure AI Agent μπορεί να αλληλεπιδράσει με άλλα πλαίσια όπως AutoGen και Semantic Kernel, πράγμα που σημαίνει ότι μπορείτε να δημιουργήσετε μέρος της εφαρμογής σας σε ένα από αυτά τα πλαίσια και, για παράδειγμα, να χρησιμοποιήσετε την υπηρεσία Agent ως ορχηστρωτή ή να δημιουργήσετε τα πάντα στην υπηρεσία Agent.
Περιπτώσεις Χρήσης: Η υπηρεσία Azure AI Agent Service έχει σχεδιαστεί για επιχειρηματικές εφαρμογές που απαιτούν ασφαλή, επεκτάσιμη και ευέλικτη ανάπτυξη AI agents.
Φαίνεται ότι υπάρχει αρκετή επικάλυψη μεταξύ αυτών των πλαισίων, αλλά υπάρχουν κάποιες βασικές διαφορές όσον αφορά τον σχεδιασμό, τις δυνατότητες και τις στοχευμένες περιπτώσεις χρήσης:
Ακόμα δεν είστε σίγουροι ποιο να επιλέξετε;
Ας δούμε αν μπορούμε να σας βοηθήσουμε περνώντας από μερικές κοινές περιπτώσεις χρήσης:
Ε: Πειραματίζομαι, μαθαίνω και δημιουργώ εφαρμογές agent proof-of-concept, και θέλω να μπορώ να δημιουργώ και να πειραματίζομαι γρήγορα
Α: Το AutoGen θα ήταν μια καλή επιλογή για αυτό το σενάριο, καθώς επικεντρώνεται σε εφαρμογές με βάση γεγονότα, κατανεμημένες εφαρμογές με agents και υποστηρίζει προηγμένα μοτίβα σχεδιασμού πολλαπλών agents.
Ε: Τι κάνει το AutoGen καλύτερη επιλογή από το Semantic Kernel και την υπηρεσία Azure AI Agent Service για αυτήν την περίπτωση χρήσης;
Α: Το AutoGen έχει σχεδιαστεί ειδικά για εφαρμογές με βάση γεγονότα, κατανεμημένες εφαρμογές με agents, καθιστώντας το κατάλληλο για αυτοματοποίηση εργασιών δημιουργίας κώδικα και ανάλυσης δεδομένων. Παρέχει τα απαραίτητα εργαλεία και δυνατότητες για την αποτελεσματική δημιουργία σύνθετων συστημάτων πολλαπλών agents.
Ε: Φαίνεται ότι η υπηρεσία Azure AI Agent Service θα μπορούσε να λειτουργήσει εδώ επίσης, έχει εργαλεία για δημιουργία κώδικα και άλλα;
Α: Ναι, η υπηρεσία Azure AI Agent Service είναι μια πλατφόρμα υπηρεσιών για agents και προσθέτει ενσωματωμένες δυνατότητες για πολλαπλά μοντέλα, Azure AI Search, Bing Search και Azure Functions. Διευκολύνει τη δημιουργία των agents σας στο Foundry Portal και την ανάπτυξή τους σε κλίμακα.
Ε: Εξακολουθώ να είμαι μπερδεμένος, απλά δώστε μου μία επιλογή
Α: Μια εξαιρετική επιλογή είναι να δημιουργήσετε την εφαρμογή σας στο Semantic Kernel πρώτα και στη συνέχεια να χρησιμοποιήσετε την υπηρεσία Azure AI Agent Service για να αναπτύξετε τον agent σας. Αυτή η προσέγγιση σας επιτρέπει να διατηρείτε εύκολα τους agents σας ενώ αξιοποιείτε τη δύναμη για τη δημιουργία συστημάτων πολλαπλών agents στο Semantic Kernel. Επιπλέον, το Semantic Kernel έχει έναν συνδετήρα στο AutoGen, καθιστώντας εύκολη τη χρήση και των δύο πλαισίων μαζί.
Ας συνοψίσουμε τις βασικές διαφορές σε έναν πίνακα:
Πλαίσιο | Εστίαση | Βασικές Έννοιες | Περιπτώσεις Χρήσης |
---|---|---|---|
AutoGen | Εφαρμογές με βάση γεγονότα, κατανεμημένες εφαρμογές με agents | Agents, Personas, Functions, Data | Δημιουργία κώδικα, εργασίες ανάλυσης δεδομένων |
Semantic Kernel | Κατανόηση και δημιουργία περιεχομένου που μοιάζει με ανθρώπινο | Agents, Modular Components, Collaboration | Κατανόηση φυσικής γλώσσας, δημιουργία περιεχομένου |
Azure AI Agent Service | Ευέλικτα μοντέλα, ασφάλεια για επιχειρήσεις, Δημιουργία κώδικα, Κλήση εργαλείων | Modularity, Collaboration, Process Orchestration | Ασφαλής, επεκτάσιμη και ευέλικτη ανάπτυξη AI agents |
Ποια είναι η ιδανική περίπτωση χρήσης για καθένα από αυτά τα πλαίσια;
Η απάντηση είναι ναι, μπορείτε να ενσωματώσετε απευθείας τα υπάρχοντα εργαλεία του οικοσυστήματος Azure με την υπηρεσία Azure AI Agent Service ειδικά, καθώς έχει σχεδιαστεί για να λειτουργεί απρόσκοπτα με άλλες υπηρεσίες Azure. Θα μπορούσατε, για παράδειγμα, να ενσωματώσετε Bing, Azure AI Search και Azure Functions. Υπάρχει επίσης βαθιά ενσωμάτωση με το Azure AI Foundry.
Για το AutoGen και το Semantic Kernel, μπορείτε επίσης να ενσωματώσετε με υπηρεσίες Azure, αλλά μπορεί να χρειαστεί να καλέσετε τις υπηρεσίες Azure από τον κώδικά σας. Ένας άλλος τρόπος ενσωμάτωσης είναι να χρησιμοποιήσετε τα Azure SDKs για να αλληλεπιδράσετε με τις υπηρεσίες Azure από τους agents σας. Επιπλέον, όπως αναφέρθηκε, μπορείτε να χρησιμοποιήσετε την υπηρεσία Azure AI Agent Service ως ορχηστρωτή για τους agents που δημιουργήθηκαν στο AutoGen ή το Semantic Kernel, κάτι που θα παρέχει εύκολη πρόσβαση στο οικοσύστημα Azure.
Εγγραφείτε στο Azure AI Foundry Discord για να συναντήσετε άλλους μαθητές, να παρακολουθήσετε ώρες γραφείου και να λάβετε απαντήσεις στις ερωτήσεις σας σχετικά με τους AI Agents.
Εισαγωγή στους AI Agents και τις Περιπτώσεις Χρήσης
Κατανόηση Μοτίβων Σχεδιασμού με Agents
Αποποίηση Ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.