ai-agents-for-beginners

Istraživanje AI okvira za agente

(Kliknite na gornju sliku za pregled video lekcije)

Istražite AI okvire za agente

AI okviri za agente su softverske platforme dizajnirane za pojednostavljenje kreiranja, implementacije i upravljanja AI agentima. Ovi okviri developerima pružaju unaprijed izrađene komponente, apstrakcije i alate koji ubrzavaju razvoj složenih AI sustava.

Ovi okviri pomažu developerima da se usredotoče na jedinstvene aspekte svojih aplikacija pružajući standardizirane pristupe čestim izazovima u razvoju AI agenata. Oni povećavaju skalabilnost, dostupnost i učinkovitost u izgradnji AI sustava.

Uvod

Ova lekcija će obuhvatiti:

Ciljevi učenja

Ciljevi ove lekcije su pomoći vam da razumijete:

Što su AI okviri za agente i što omogućuju developerima?

Tradicionalni AI okviri mogu pomoći u integraciji AI-ja u vaše aplikacije i poboljšanju tih aplikacija na sljedeće načine:

Sve to zvuči sjajno, ali zašto nam treba AI okvira za agente?

AI okviri za agente predstavljaju više od običnih AI okvira. Oni su dizajnirani za omogućavanje kreiranja inteligentnih agenata koji mogu komunicirati s korisnicima, drugim agentima i okolinom kako bi postigli specifične ciljeve. Ti agenti mogu pokazivati autonomno ponašanje, donositi odluke i prilagođavati se promjenjivim uvjetima. Pogledajmo neke ključne mogućnosti koje omogućuju AI okviri za agente:

Ukratko, agenti vam omogućuju više, vode automatizaciju na višu razinu te stvaraju inteligentnije sustave koji mogu učiti i prilagođavati se svojoj okolini.

Kako brzo prototipirati, iterirati i poboljšati sposobnosti agenta?

Ovo je brzo mijenjajuće područje, ali postoje neke zajedničke stvari kod većine AI okvira za agente koje vam mogu pomoći da brzo prototipirate i iterirate: modularne komponente, alati za suradnju i učenje u stvarnom vremenu. Pogledajmo to detaljnije:

Koristite modularne komponente

SDK-ovi poput Microsoft Agent Frameworka nude unaprijed izrađene komponente poput AI konektora, definicija alata i upravljanja agentima.

Kako to koriste timovi: Timovi mogu brzo sastaviti ove komponente da kreiraju funkcionalni prototip bez početka od nule, omogućujući brze eksperimente i iteracije.

Kako to funkcionira u praksi: Možete koristiti unaprijed izrađeni parser za izdvajanje informacija iz korisničkog unosa, memorijsku komponentu za pohranu i dohvat podataka, te generator naredbi za interakciju s korisnicima, sve bez potrebe za izradom ovih komponenti od početka.

Primjer koda. Pogledajmo primjer kako koristiti Microsoft Agent Framework s AzureAIProjectAgentProvider kako bi model odgovorio na korisnički unos pozivajući alat:

# Primjer Microsoft Agent Frameworka u Pythonu

import asyncio
import os
from typing import Annotated

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


# Definirajte primjer funkcije alata za rezervaciju putovanja
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)
    # Primjer izlaza: Vaš let za New York 1. siječnja 2025. uspješno je rezerviran. Sretan put! ✈️🗽


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

Iz ovog primjera vidite kako iskoristiti unaprijed izrađeni parser za izdvajanje ključnih informacija iz korisničkog unosa, poput polazišta, odredišta i datuma zahtjeva za rezervaciju leta. Ovaj modularni pristup vam omogućava da se usredotočite na višerazinsku logiku.

Iskoristite alate za suradnju

Okviri poput Microsoft Agent Frameworka olakšavaju stvaranje više agenata koji mogu raditi zajedno.

Kako to koriste timovi: Timovi mogu dizajnirati agente s određenim ulogama i zadacima, omogućujući testiranje i usavršavanje suradničkih radnih tijekova te poboljšanje ukupne učinkovitosti sustava.

Kako to funkcionira u praksi: Možete stvoriti tim agenata gdje svaki agent ima specijaliziranu funkciju, poput dohvaćanja podataka, analize ili donošenja odluka. Ti agenti mogu međusobno komunicirati i dijeliti informacije kako bi postigli zajednički cilj, poput odgovora na korisnički upit ili dovršetka zadatka.

Primjer koda (Microsoft Agent Framework):

# Kreiranje više agenata koji rade zajedno koristeći Microsoft Agent Framework

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

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

# Agent za dohvat podataka
agent_retrieve = await provider.create_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Agent za analizu podataka
agent_analyze = await provider.create_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Pokretanje agenata redom na zadatku
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)

Kôd prikazuje kako stvoriti zadatak koji uključuje rad više agenata na analizi podataka. Svaki agent obavlja specifičnu funkciju, a zadatak se izvršava koordinacijom agenata radi postizanja željenog cilja. Kreiranjem agenata s posebnim ulogama možete poboljšati učinkovitost i izvedbu zadatka.

Učite u stvarnom vremenu

Napredni okviri pružaju mogućnosti za razumijevanje konteksta i prilagodbu u stvarnom vremenu.

Kako to koriste timovi: Timovi mogu implementirati povratne petlje u kojima agenti uče iz interakcija i dinamički prilagođavaju svoje ponašanje, što vodi do kontinuiranog poboljšanja i usavršavanja sposobnosti.

Kako to funkcionira u praksi: Agent može analizirati korisničke povratne informacije, podatke iz okoline i rezultate zadataka kako bi ažurirao bazu znanja, prilagodio algoritme donošenja odluka i s vremenom poboljšao izvedbu. Ovaj iterativni proces učenja omogućuje agentima da se prilagođavaju promjenjivim uvjetima i preferencijama korisnika, povećavajući ukupnu učinkovitost sustava.

Koje su razlike između Microsoft Agent Frameworka i Azure AI Agent Servicea?

Postoji mnogo načina za usporedbu ovih pristupa, ali pogledajmo glavne razlike u dizajnu, mogućnostima i ciljnim scenarijima uporabe:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework pruža pojednostavljeni SDK za izgradnju AI agenata koristeći AzureAIProjectAgentProvider. Omogućuje developerima kreiranje agenata koji koriste Azure OpenAI modele s ugrađenim pozivima alata, upravljanjem razgovorom i sigurnošću razine poduzeća putem Azure identiteta.

Scenariji uporabe: Izgradnja produkcijski spremnih AI agenata s upotrebom alata, višestupanjskim radnim tokovima i scenarijima integracije u poduzeću.

Evo nekoliko važnih osnovnih koncepata Microsoft Agent Frameworka:

Azure AI Agent Service

Azure AI Agent Service je noviji dodatak, predstavljen na Microsoft Ignite 2024. Omogućuje razvoj i implementaciju AI agenata s fleksibilnijim modelima, poput izravnog pozivanja open-source LLM-ova poput Llama 3, Mistral i Cohere.

Azure AI Agent Service pruža snažnije mehanizme sigurnosti poduzeća i metode pohrane podataka, čineći ga prikladnim za aplikacije u poduzeću.

Radi odmah s Microsoft Agent Frameworkom za izgradnju i implementaciju agenata.

Ova usluga trenutno je u javnoj preview verziji i podržava Python i C# za izgradnju agenata.

Koristeći Azure AI Agent Service Python SDK možemo kreirati agenta s korisnički definiranim alatom:

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

# Definirajte funkcije alata
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())

Osnovni koncepti

Azure AI Agent Service ima sljedeće osnovne koncepte:

Scenariji uporabe: Azure AI Agent Service je dizajniran za aplikacije u poduzeću koje zahtijevaju sigurnu, skalabilnu i fleksibilnu implementaciju AI agenata.

Koja je razlika između ovih pristupa?

Zvuči kao da postoji preklapanje, ali postoje ključne razlike u dizajnu, mogućnostima i ciljnim scenarijima:

Još uvijek niste sigurni što odabrati?

Scenariji uporabe

Pogledajmo mogu li vam pomoći s nekim uobičajenim scenarijima:

P: Gradim produkcijske AI agent aplikacije i želim brzo započeti

O: Microsoft Agent Framework je izvrstan izbor. Pruža jednostavan, Pythonov API preko AzureAIProjectAgentProvider koji vam omogućuje definiranje agenata s alatima i uputama u samo nekoliko redaka koda.

P: Trebam implementaciju razine poduzeća s Azure integracijama poput Search i izvršavanja koda

O: Azure AI Agent Service je najbolji izbor. To je platformski servis koji nudi ugrađene sposobnosti za više modela, Azure AI Search, Bing Search i Azure Functions. Omogućuje jednostavno kreiranje agenata u Foundry portalu i implementaciju u velikom opsegu.

P: Još sam zbunjen, dajte mi samo jednu opciju

O: Počnite s Microsoft Agent Frameworkom za izgradnju agenata, a zatim koristite Azure AI Agent Service kad trebate implementirati i skalirati agente u produkciji. Ovaj pristup omogućava brzu iteraciju logike agenata dok istovremeno imate jasan put do implementacije u poduzeću.

Sažmimo ključne razlike u tablici:

Okvir Fokus Osnovni koncepti Scenariji uporabe
Microsoft Agent Framework Pojednostavljeni SDK za agente s pozivom alata Agenti, alati, Azure identitet Izgradnja AI agenata, korištenje alata, višestupanjski radni tokovi
Azure AI Agent Service Fleksibilni modeli, sigurnost za poduzeće, generiranje koda, poziv alata Modularnost, suradnja, orkestracija procesa Sigurna, skalabilna i fleksibilna implementacija AI agenata

Mogu li integrirati svoje postojeće alate iz Azure ekosustava izravno ili trebam samostalna rješenja?

Odgovor je da, možete integrirati svoje postojeće alate Azure ekosustava izravno s Azure AI Agent Service, posebno jer je izgrađen da besprijekorno surađuje s drugim Azure uslugama. Na primjer, mogli biste integrirati Bing, Azure AI Search i Azure Functions. Postoji i duboka integracija s Microsoft Foundry.

Microsoft Agent Framework također se integrira s Azure uslugama putem AzureAIProjectAgentProvider i Azure identiteta, što vam omogućuje da izravno pozivate Azure usluge iz svojih alata za agente.

Primjeri koda

Imate li dodatnih pitanja o AI Agent Framework-ima?

Pridružite se Microsoft Foundry Discordu kako biste se povezali s drugim učenicima, sudjelovali u radnom vremenu i dobili odgovore na svoja pitanja o AI Agentima.

Reference

Prethodna lekcija

Uvod u AI agente i primjere uporabe agenata

Sljedeća lekcija

Razumijevanje uzoraka dizajna agenata


Odricanje od odgovornosti:
Ovaj dokument je preveden korištenjem AI usluge prijevoda Co-op Translator. Iako nastojimo postići točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporučuje se stručni ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazume ili pogrešna tumačenja nastala korištenjem ovog prijevoda.