ai-agents-for-beginners

AI Ügynök Keretrendszerek felfedezése

(Kattints a fenti képre az óra videójának megtekintéséhez)

AI Ügynök Keretrendszerek Felfedezése

Az AI ügynök keretrendszerek olyan szoftverplatformok, amelyeket az AI ügynökök egyszerűbb létrehozására, telepítésére és kezelésére terveztek. Ezek a keretrendszerek előre elkészített komponenseket, absztrakciókat és eszközöket biztosítanak a fejlesztőknek, amelyek megkönnyítik a bonyolult AI rendszerek fejlesztését.

Ezek a keretrendszerek segítik a fejlesztőket, hogy az alkalmazásaik egyedi aspektusaira koncentrálhassanak, szabványosított megközelítéseket nyújtva az AI ügynök fejlesztés általános kihívásaira. Növelik a skálázhatóságot, elérhetőséget és hatékonyságot az AI rendszerek építése során.

Bevezetés

Ez az óra a következőkről szól:

Tanulási célok

Ennek az órának a célja, hogy segítsen megérteni:

Mik azok az AI Ügynök Keretrendszerek, és mit tehetnek a fejlesztők?

A hagyományos AI keretrendszerek segíthetnek az AI integrálásában az alkalmazásokba, és az alábbi módokon javíthatják ezeket az alkalmazásokat:

Ez mind remekül hangzik, de miért van szükségünk AI Ügynök Keretrendszerre?

Az AI Ügynök keretrendszerek többek egyszerű AI keretrendszereknél. Olyan intelligens ügynökök létrehozását teszik lehetővé, amelyek képesek felhasználókkal, más ügynökökkel és a környezettel kommunikálni, hogy elérjék konkrét céljaikat. Ezek az ügynökök autonóm viselkedést mutathatnak, döntéseket hozhatnak, és alkalmazkodhatnak a változó körülményekhez. Nézzük meg néhány kulcsfontosságú képességet, amelyeket az AI Ügynök Keretrendszerek támogatnak:

Összefoglalva, az ügynökök lehetővé teszik, hogy többet tegyél, az automatizálást magasabb szintre emeld, intelligensebb rendszereket hozz létre, amelyek képesek alkalmazkodni és tanulni a környezetükből.

Hogyan lehet gyorsan prototípust készíteni, iterálni és fejleszteni az ügynök képességeit?

Ez egy gyorsan változó terület, de vannak olyan elemek, amelyek a legtöbb AI Ügynök Keretrendszerben közösek, és segítenek gyors prototípust készíteni és iterálni, ilyenek a moduláris komponensek, együttműködő eszközök és a valós idejű tanulás. Merüljünk el ezekben:

Használj Moduláris Komponenseket

Az olyan SDK-k, mint a Microsoft Agent Framework, előre elkészített komponenseket kínálnak, mint AI csatlakozók, eszközdefiníciók és ügynök menedzsment.

Hogyan használhatják ezeket a csapatok: A csapatok gyorsan összeállíthatják ezeket a komponenseket működő prototípus létrehozásához anélkül, hogy teljesen nulláról kellene kezdeniük, lehetővé téve a gyors kísérletezést és iterálást.

Hogyan működik ez a gyakorlatban: Használhatsz egy előre elkészített elemzőt az információk kinyerésére a felhasználói bemenetből, egy memória modult adatok tárolására és lekérésére, és egy prompt generátort a felhasználókkal való interakcióhoz, mindezt anélkül, hogy ezeket a komponenseket nulláról kellene megírni.

Példa kód. Nézzünk egy példát arra, hogyan használhatod a Microsoft Agent Frameworköt a FoundryChatClient segítségével, hogy a modell eszközhívásokkal válaszoljon a felhasználói bemenetekre:

# Microsoft Agent Framework Python példa

import asyncio
import os

from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential


# Definiáljunk egy mintafeladatot az utazás lefoglalására
@tool(approval_mode="never_require")
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 = FoundryChatClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
        credential=AzureCliCredential(),
    )
    agent = provider.as_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)
    # Példa kimenet: Az Ön január 1-jei, 2025-ös New Yorkba tartó repülőjegye sikeresen lefoglalva. Kellemes utazást! ✈️🗽


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

Ebből a példából láthatod, hogyan használhatsz előre elkészített elemzőt a felhasználói bemenet kulcsfontosságú adatainak, például az indulási hely, célállomás és időpont kinyerésére egy repülőjegyfoglalási kérés esetén. Ez a moduláris megközelítés lehetővé teszi, hogy a magas szintű logikára koncentrálj.

Használj Együttműködő Eszközöket

Olyan keretrendszerek, mint a Microsoft Agent Framework, megkönnyítik több ügynök létrehozását, amelyek együtt tudnak dolgozni.

Hogyan használhatják ezt a csapatok: A csapatok tervezhetnek olyan ügynököket, akiknek speciális szerepük és feladataik vannak, lehetővé téve számukra az együttműködő munkafolyamatok tesztelését és finomítását, valamint az általános rendszer hatékonyságának javítását.

Hogyan működik ez a gyakorlatban: Létrehozhatsz egy ügynök csapatot, ahol minden ügynök egy speciális funkciót lát el, például adatlekérés, elemzés vagy döntéshozatal. Ezek az ügynökök kommunikálhatnak és megoszthatnak információkat egy közös cél érdekében, például egy felhasználói kérdés megválaszolására vagy egy feladat elvégzésére.

Példa kód (Microsoft Agent Framework):

# Több ügynök létrehozása, amelyek együttműködnek a Microsoft Agent Framework használatával

import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

# Adatlekérési ügynök
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Adatelemzési ügynök
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Ügynökök egymás utáni futtatása egy feladaton
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)

Az előző kódban azt láthatod, hogyan hozhatsz létre egy olyan feladatot, amelyben több ügynök együtt dolgozik adat elemzésén. Minden ügynök egy adott feladatot végez, és a feladat a koordinált munkájuk eredményeként valósul meg. Dedikált, speciális szerepkörű ügynökök létrehozásával javíthatod a feladat hatékonyságát és teljesítményét.

Tanulj Valós Időben

Fejlett keretrendszerek kínálnak képességeket valós idejű kontextusmegértésre és alkalmazkodásra.

Hogyan használhatják ezt a csapatok: Csapatok visszacsatolási hurkokat alkalmazhatnak, ahol az ügynökök a kölcsönhatásokból tanulnak és dinamikusan módosítják viselkedésüket, folyamatos fejlesztést és finomítást eredményezve.

Hogyan működik ez a gyakorlatban: Az ügynökök elemezhetik a felhasználói visszajelzéseket, környezeti adatokat és a feladatok eredményeit, hogy frissítsék tudásbázisukat, módosítsák döntési algoritmusaikat és idővel javítsák teljesítményüket. Ez az ismétlődő tanulási folyamat lehetővé teszi az ügynökök számára, hogy alkalmazkodjanak a változó feltételekhez és felhasználói preferenciákhoz, ezáltal növelve az egész rendszer hatékonyságát.

Milyen különbségek vannak a Microsoft Agent Framework és a Microsoft Foundry Agent Service között?

Sokféleképpen össze lehet hasonlítani ezeket a megközelítéseket, de nézzük meg néhány kulcsfontosságú különbséget a tervezésük, képességeik és célfelhasználási eseteik szempontjából:

Microsoft Agent Framework (MAF)

A Microsoft Agent Framework egy egyszerűsített SDK, amely az AI ügynökök építését teszi lehetővé FoundryChatClient használatával. Lehetővé teszi az ügynökök létrehozását, amelyek az Azure OpenAI modellekre építenek beépített eszközhívással, beszélgetéskezeléssel és vállalati szintű biztonsággal, az Azure azonosításon keresztül.

Használati esetek: Termelésre kész AI ügynökök létrehozása eszközhasználattal, több lépésből álló munkafolyamatokkal és vállalati integrációs szcenáriókkal.

Íme néhány fontos alapfogalom a Microsoft Agent Frameworkből:

Microsoft Foundry Agent Service

A Microsoft Foundry Agent Service egy újabb szolgáltatás, amelyet a Microsoft Ignite 2024-en mutattak be. Lehetővé teszi AI ügynökök fejlesztését és telepítését rugalmasabb modellekkel, például közvetlenül nyílt forráskódú LLM-ek hívásával, mint a Llama 3, Mistral és Cohere.

A Microsoft Foundry Agent Service erősebb vállalati biztonsági mechanizmusokat és adattárolási módokat kínál, így alkalmas vállalati alkalmazásokhoz.

Alapértelmezetten együttműködik a Microsoft Agent Frameworkkel ügynökök építéséhez és telepítéséhez.

Jelenleg nyilvánosan előzetes verzióban érhető el, és támogatja a Python és C# alapú ügynökfejlesztést.

A Microsoft Foundry Agent Service Python SDK segítségével létrehozhatunk egy ügynököt felhasználói definiált eszközzel:

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

# Eszközfunkciók meghatározása
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-5-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())

Alapfogalmak

A Microsoft Foundry Agent Service az alábbi alapfogalmakkal rendelkezik:

Használati esetek: A Microsoft Foundry Agent Service vállalati alkalmazásokra van tervezve, ahol biztonságos, skálázható és rugalmas AI ügynök telepítés szükséges.

Mi a különbség ezek között a megközelítések között?

Úgy hangzik, mintha lenne átfedés, de vannak kulcsfontosságú különbségek a tervezés, képességek és célfelhasználások tekintetében:

Még mindig bizonytalan, melyiket válaszd?

Használati esetek

Nézzük meg, tudunk-e segíteni néhány gyakori alkalmazási eseten keresztül:

K: Termelésre kész AI ügynök alkalmazásokat fejlesztek, és gyorsan szeretnék indulni

V: A Microsoft Agent Framework nagyszerű választás. Egyszerű, Pythonos API-t kínál a FoundryChatClient segítségével, amellyel néhány sor kódban definiálhatsz eszközökkel és utasításokkal rendelkező ügynököket.

K: Vállalati szintű telepítésre van szükségem Azure integrációval, mint a Search és a kód végrehajtás.

V: A Microsoft Foundry Agent Service a legjobb választás. Ez egy platform szolgáltatás, amely több modellre, Azure AI Searchre, Bing Searchre és Azure Functions-re épülő beépített képességeket kínál. Egyszerűvé teszi ügynökeid építését a Foundry Portálon és azok skálázható telepítését.

K: Még mindig bizonytalan vagyok, csak adj egy lehetőséget.

V: Kezdd a Microsoft Agent Frameworkkel az ügynökök építését, majd használd a Microsoft Foundry Agent Service-t, amikor el kell őket telepíteni és skálázni éles környezetben. Ez a megközelítés gyors iterációt tesz lehetővé az ügynök logikáján, miközben egyértelmű utat kínál a vállalati szintű telepítéshez.

Foglaljuk össze a kulcsfontosságú különbségeket egy táblázatban:

Keretrendszer Fókusz Alapfogalmak Használati esetek
Microsoft Agent Framework Egyszerűsített ügynök SDK eszközhívással Ügynökök, Eszközök, Azure Azonosítás AI ügynökök építése, eszközhasználat, többlépéses munkafolyamatok
Microsoft Foundry Agent Service Rugalmas modellek, vállalati biztonság, kódgenerálás, eszközhívás Moduláris felépítés, Együttműködés, Folyamatok koordinációja Biztonságos, skálázható és rugalmas AI ügynök telepítés

Integrálhatom közvetlenül a meglévő Azure eszközeimet, vagy szükségem van különálló megoldásokra?

A válasz igen, közvetlenül integrálhatja meglévő Azure ökoszisztéma eszközeit a Microsoft Foundry Agent Service-szel, különösen, mivel az zökkenőmentes együttműködésre lett tervezve más Azure szolgáltatásokkal. Például integrálhatja a Binget, az Azure AI Search-t és az Azure Functions-t. Emellett mély integráció van a Microsoft Foundry-val.

A Microsoft Agent Framework az Azure szolgáltatásokkal is integrálódik a FoundryChatClient és az Azure azonosítás révén, lehetővé téve, hogy az Azure szolgáltatásokat közvetlenül az ügynök eszközeiből hívja meg.

Minta kódok

Van még kérdése az AI Agent Frameworkökkel kapcsolatban?

Csatlakozzon a Microsoft Foundry Discord csoporthoz, hogy találkozzon más tanulókkal, részt vehessen az irodai órákon, és választ kapjon AI ügynökeihez kapcsolódó kérdéseire.

Hivatkozások

Előző lecke

Bevezetés az AI ügynökökbe és azok felhasználási eseteibe

Következő lecke

Az ügynöki tervezési minták megértése


Jogi nyilatkozat: Ez a dokumentum az AI fordítási szolgáltatás, a Co-op Translator segítségével készült. Bár az pontosságra törekszünk, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az anyanyelvén tekintendő hiteles forrásnak. Fontos információk esetén professzionális emberi fordítást javasolunk. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely ebből a fordításból ered.