ai-agents-for-beginners

Preskúmanie rámcov pre AI agentov

(Kliknite na obrázok vyššie pre zobrazenie videa tejto lekcie)

Preskúmajte rámce pre AI agentov

Rámce pre AI agentov sú softvérové platformy navrhnuté na zjednodušenie vytvárania, nasadzovania a správy AI agentov. Tieto rámce poskytujú vývojárom predpripravené komponenty, abstrakcie a nástroje, ktoré zefektívňujú vývoj zložitých AI systémov.

Tieto rámce pomáhajú vývojárom zamerať sa na jedinečné aspekty ich aplikácií tým, že poskytujú štandardizované prístupy k bežným výzvam vo vývoji AI agentov. Zvyšujú škálovateľnosť, prístupnosť a efektivitu pri budovaní AI systémov.

Introduction

Táto lekcia pokryje:

Learning goals

Ciele tejto lekcie sú pomôcť vám pochopiť:

What are AI Agent Frameworks and what do they enable developers to do?

Tradičné AI rámce vám môžu pomôcť integrovať AI do vašich aplikácií a zlepšiť tieto aplikácie nasledujúcimi spôsobmi:

That all sounds great right, so why do we need the AI Agent Framework?

Rámce pre AI agentov predstavujú niečo viac než len AI rámce. Sú navrhnuté tak, aby umožnili tvorbu inteligentných agentov, ktorí môžu komunikovať s používateľmi, inými agentmi a prostredím s cieľom dosiahnuť konkrétne ciele. Títo agenti môžu vykazovať autonómne správanie, prijímať rozhodnutia a prispôsobovať sa meniacim sa podmienkam. Pozrime sa na niektoré kľúčové schopnosti, ktoré rámce pre AI agentov umožňujú:

Takže v skratke, agenti vám umožňujú robiť viac, posunúť automatizáciu na vyššiu úroveň a vytvoriť inteligentnejšie systémy, ktoré sa dokážu prispôsobiť a učiť sa zo svojho prostredia.

How to quickly prototype, iterate, and improve the agent’s capabilities?

Toto je rýchlo sa meniacae odvetvie, ale existujú určité spoločné prvky vo väčšine rámcov pre AI agentov, ktoré vám môžu pomôcť rýchlo prototypovať a iterovať, a to modulárne komponenty, kolaboratívne nástroje a učenie v reálnom čase. Pozrime sa na ne podrobnejšie:

Use Modular Components

SDK ako Microsoft Agent Framework ponúkajú predpripravené komponenty, ako sú AI konektory, definície nástrojov a správa agentov.

Ako to môžu tímy využiť: Tímy môžu rýchlo zostaviť tieto komponenty na vytvorenie funkčného prototypu bez začínania od nuly, čo umožňuje rýchlé experimentovanie a iterácie.

Ako to funguje v praxi: Môžete použiť predpripravený parser na extrakciu informácií z používateľského vstupu, modul pamäte na ukladanie a získavanie dát a generátor promptov na interakciu s používateľmi, to všetko bez potreby budovať tieto komponenty od začiatku.

Example code. Pozrime sa na príklad, ako môžete použiť Microsoft Agent Framework s AzureAIProjectAgentProvider, aby model reagoval na používateľský vstup s volaním nástrojov:

# Príklad Python rámca Microsoft Agent

import asyncio
import os
from typing import Annotated

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


# Definujte vzorovú nástrojovú funkciu na rezerváciu cesty
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)
    # Ukážkový výstup: Váš let do New Yorku na 1. januára 2025 bol úspešne rezervovaný. Šťastnú cestu! ✈️🗽


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

Z toho, čo vidíte v tomto príklade, je zrejmé, ako môžete využiť predpripravený parser na extrakciu kľúčových informácií z používateľského vstupu, ako sú pôvod, cieľ a dátum žiadosti o rezerváciu letu. Tento modulárny prístup vám umožní sústrediť sa na logiku na vysokej úrovni.

Leverage Collaborative Tools

Rámce ako Microsoft Agent Framework uľahčujú vytváranie viacerých agentov, ktorí môžu spolupracovať.

Ako to môžu tímy využiť: Tímy môžu navrhovať agentov s konkrétnymi rolami a úlohami, čo im umožní testovať a zdokonaľovať kolaboratívne pracovné toky a zvyšovať celkovú efektivitu systému.

Ako to funguje v praxi: Môžete vytvoriť tím agentov, kde každý agent má špecializovanú funkciu, ako je získavanie dát, analýza alebo rozhodovanie. Títo agenti môžu komunikovať a zdieľať informácie, aby dosiahli spoločný cieľ, napríklad odpovedanie na používateľský dotaz alebo dokončenie úlohy.

Example code (Microsoft Agent Framework):

# Vytváranie viacerých agentov, ktorí spolupracujú pomocou Microsoft Agent Framework

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

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

# Agent na získavanie údajov
agent_retrieve = await provider.create_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Agent na analýzu údajov
agent_analyze = await provider.create_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Spustenie agentov postupne na úlohe
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)

V predchádzajúcom kóde vidíte, ako môžete vytvoriť úlohu, ktorá zahŕňa viacerých agentov spolupracujúcich na analýze dát. Každý agent vykonáva konkrétnu funkciu a úloha sa vykonáva koordináciou agentov s cieľom dosiahnuť požadovaný výsledok. Vytváraním venovaných agentov so špecializovanými rolami môžete zlepšiť efektivitu a výkon úloh.

Learn in Real-Time

Pokročilé rámce poskytujú schopnosti na pochopenie kontextu v reálnom čase a adaptáciu.

Ako to môžu tímy využiť: Tímy môžu implementovať spätné väzby, kde sa agenti učia z interakcií a dynamicky upravujú svoje správanie, čo vedie k neustálemu zlepšovaniu a doladeniu schopností.

Ako to funguje v praxi: Agenti môžu analyzovať spätnú väzbu od používateľov, dátové informácie z prostredia a výsledky úloh, aby aktualizovali svoju databázu znalostí, upravili algoritmy rozhodovania a zlepšili výkon v priebehu času. Tento iteratívny proces učenia umožňuje agentom prispôsobiť sa meniacim sa podmienkam a preferenciám používateľov, čím sa zvyšuje celková efektívnosť systému.

What are the differences between the Microsoft Agent Framework and Azure AI Agent Service?

Existuje mnoho spôsobov, ako tieto prístupy porovnať, ale poďme sa pozrieť na niektoré kľúčové rozdiely z hľadiska ich dizajnu, schopností a cieľových prípadov použitia:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework poskytuje zjednodušené SDK na vytváranie AI agentov pomocou AzureAIProjectAgentProvider. Umožňuje vývojárom vytvárať agentov, ktorí využívajú Azure OpenAI modely s vstavaným volaním nástrojov, správou konverzácií a bezpečnosťou na podnikovej úrovni cez Azure identity.

Prípady použitia: Vytváranie produkčne pripravených AI agentov s používaním nástrojov, viacstupňovými pracovnými tokmi a scenármi podnikovej integrácie.

Tu sú niektoré dôležité základné koncepty Microsoft Agent Framework:

Azure AI Agent Service

Azure AI Agent Service je novší doplnok, predstavený na Microsoft Ignite 2024. Umožňuje vývoj a nasadzovanie AI agentov s flexibilnejšími modelmi, ako je priame volanie open-source LLM ako Llama 3, Mistral a Cohere.

Azure AI Agent Service poskytuje silnejšie mechanizmy podnikovej bezpečnosti a metódy ukladania dát, čo z neho robí vhodné riešenie pre podnikové aplikácie.

Funguje okamžite s Microsoft Agent Framework pre vytváranie a nasadzovanie agentov.

Táto služba je v súčasnosti v Public Preview a podporuje Python a C# na vytváranie agentov.

Použitím Python SDK Azure AI Agent Service môžeme vytvoriť agenta s používateľom definovaným nástrojom:

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

# Definujte funkcie nástroja
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())

Core concepts

Azure AI Agent Service má nasledujúce základné koncepty:

Prípady použitia: Azure AI Agent Service je navrhnutá pre podnikové aplikácie, ktoré vyžadujú bezpečné, škálovateľné a flexibilné nasadzovanie AI agentov.

What’s the difference between these approaches?

Znie to, že existuje prekrytie, ale sú tu niektoré kľúčové rozdiely z hľadiska ich dizajnu, schopností a cieľových prípadov použitia:

Stále si nie ste istí, ktorý si vybrať?

Use Cases

Pozrime sa, či vám môžeme pomôcť prejsť niektoré bežné prípady použitia:

Q: Stavám produkčne AI agent aplikácie a chcem začať rýchlo

A: Microsoft Agent Framework je skvelá voľba. Poskytuje jednoduché, “pythonic” API cez AzureAIProjectAgentProvider, ktoré vám umožní definovať agentov s nástrojmi a inštrukciami v len niekoľkých riadkoch kódu.

Q: Potrebujem nasadenie na podnikovej úrovni s integráciami Azure ako Search a vykonávanie kódu

A: Azure AI Agent Service je najvhodnejšie. Je to platformová služba, ktorá poskytuje vstavané schopnosti pre viacero modelov, Azure AI Search, Bing Search a Azure Functions. Uľahčuje vytváranie agentov v Foundry Portáli a ich nasadzovanie v škálovateľnom režime.

Q: Stále som zmätený, len mi dajte jednu možnosť

A: Začnite s Microsoft Agent Framework na vytváranie vašich agentov a potom použite Azure AI Agent Service, keď budete potrebovať ich nasadiť a škálovať v produkcii. Tento prístup vám umožní rýchlo iterovať na logike agenta a zároveň mať jasnú cestu k podnikovej nasaditeľnosti.

Zhrňme kľúčové rozdiely v tabuľke:

Framework Focus Core Concepts Use Cases
Microsoft Agent Framework Streamlined agent SDK with tool calling Agents, Tools, Azure Identity Building AI agents, tool use, multi-step workflows
Azure AI Agent Service Flexible models, enterprise security, Code generation, Tool calling Modularity, Collaboration, Process Orchestration Secure, scalable, and flexible AI agent deployment

Can I integrate my existing Azure ecosystem tools directly, or do I need standalone solutions?

Odpoveď je áno, môžete integrovať svoje existujúce nástroje v ekosystéme Azure priamo so službou Azure AI Agent Service, najmä preto, že bola navrhnutá na bezproblémovú spoluprácu s ostatnými službami Azure. Môžete napríklad integrovať Bing, Azure AI Search a Azure Functions. Existuje tiež hlboká integrácia s Microsoft Foundry.

The Microsoft Agent Framework also integrates with Azure services through AzureAIProjectAgentProvider and Azure identity, letting you call Azure services directly from your agent tools.

Ukážky kódu

Máte ďalšie otázky o rámcoch AI agentov?

Pridajte sa na Microsoft Foundry Discord, aby ste sa stretli s ostatnými študentmi, zúčastnili sa konzultačných hodín a získali odpovede na svoje otázky o AI agentech.

Referencie

Predchádzajúca lekcia

Úvod do AI agentov a ich prípadov použitia

Nasledujúca lekcia

Porozumenie agentickým návrhovým vzorom


Vyhlásenie o zodpovednosti: Tento dokument bol preložený pomocou AI prekladateľskej služby Co-op Translator (https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, berte na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by sa mal považovať za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.