ai-agents-for-beginners

Istraživanje AI Agent Okvira

(Kliknite na gornju sliku za pregled video lekcije)

Istražite AI Agent Okvire

AI agent okviri su softverske platforme dizajnirane za pojednostavljenje stvaranja, implementacije i upravljanja AI agentima. Ti okviri pružaju programerima unaprijed izgrađene komponente, apstrakcije i alate koji ubrzavaju razvoj složenih AI sustava.

Ovi okviri pomažu programerima da se usredotoče na jedinstvene aspekte svojih aplikacija pružajući standardizirane pristupe uobičajenim izazovima u razvoju AI agenata. Povećavaju skalabilnost, pristupačnost i učinkovitost u izgradnji AI sustava.

Uvod

Ova lekcija će pokriti:

Ciljevi učenja

Ciljevi ove lekcije su pomoći vam da razumijete:

Što su AI Agent Okviri i što omogućuju programerima?

Tradicionalni AI okviri mogu vam pomoći integrirati AI u vaše aplikacije i poboljšati ih na sljedeće načine:

Sve to zvuči sjajno, zar ne? Zašto nam onda treba AI Agent Framework?

AI Agent okviri predstavljaju nešto više od običnih AI okvira. Dizajnirani su za omogućavanje stvaranja inteligentnih agenata koji mogu komunicirati s korisnicima, drugim agentima i okolinom kako bi postigli određene ciljeve. Ti agenti mogu pokazivati autonomno ponašanje, donositi odluke i prilagođavati se promjenjivim uvjetima. Pogledajmo neke ključne mogućnosti omogućene AI Agent Okvirima:

Ukratko, agenti vam omogućuju više - da dignete automatizaciju na višu razinu, da stvorite inteligentnije sustave koji se mogu prilagođavati i učiti iz okoline.

Kako brzo prototipizirati, iterirati i poboljšavati sposobnosti agenta?

Ovo je brzo mijenjajuće područje, ali postoje neke zajedničke značajke kod većine AI Agent Okvira koje vam mogu pomoći brzo prototipizirati i iterirati, poput modularnih komponenti, alata za suradnju i učenja u stvarnom vremenu. Pogledajmo ih:

Koristite modularne komponente

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

Kako timovi mogu koristiti ove: Timovi mogu brzo sastaviti ove komponente za stvaranje funkcionalnog prototipa bez početka od nule, što omogućuje brzo eksperimentiranje i iteraciju.

Kako to funkcionira u praksi: Možete koristiti unaprijed izrađeni parser za izdvajanje informacija iz korisničkog unosa, memorijski modul za spremanje i dohvat podataka te generator uputa za interakciju s korisnicima, sve bez izgradnje ovih komponenti od nule.

Primjer koda. Pogledajmo primjer kako koristiti Microsoft Agent Framework s FoundryChatClient da model odgovara na korisnički unos pozivanjem alata:

# Microsoft Agent Framework Python primjer

import asyncio
import os

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


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


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

Ono što možete vidjeti u ovom primjeru jest kako iskoristiti unaprijed izrađeni parser za izdvajanje ključnih informacija iz korisničkog unosa, poput podrijetla, odredišta i datuma zahtjeva za rezervaciju leta. Ovaj modularni pristup vam omogućuje da se usredotočite na visokorazinsku logiku.

Iskoristite alate za suradnju

Okviri poput Microsoft Agent Frameworka olakšavaju stvaranje više agenata koji mogu međusobno surađivati.

Kako timovi mogu koristiti ove: Timovi mogu dizajnirati agente s posebnim ulogama i zadacima, omogućujući im testirati i usavršavati suradničke radne tokove te poboljšati ukupnu učinkovitost 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.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(),
)

# Agent za dohvaćanje podataka
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

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

# Pokreni agente 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)

Ono što vidite u prethodnom kodu jest kako se može stvoriti zadatak koji uključuje rad više agenata na analizi podataka. Svaki agent izvodi određenu funkciju, a zadatak se izvršava koordinacijom agenata radi postizanja željenog ishoda. Stvaranjem posvećenih agenata sa specijaliziranim ulogama možete poboljšati učinkovitost i performanse zadatka.

Učite u stvarnom vremenu

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

Kako timovi mogu koristiti ove: 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: Agenti mogu analizirati korisničku povratnu informaciju, podatke o okolišu i rezultate zadataka kako bi ažurirali svoju bazu znanja, prilagodili algoritme donošenja odluka i s vremenom poboljšali performanse. Ovaj iterativni proces učenja omogućuje agentima da se prilagođavaju promjenjivim uvjetima i korisničkim preferencijama, povećavajući ukupnu učinkovitost sustava.

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

Postoji mnogo načina za usporedbu ovih pristupa, ali pogledajmo neke ključne razlike u pogledu dizajna, mogućnosti i ciljane primjene:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework pruža pojednostavljeni SDK za izgradnju AI agenata pomoću FoundryChatClient. Omogućuje programerima stvaranje agenata koji koriste Azure OpenAI modele s ugrađenim pozivanjem alata, upravljanjem razgovorima i sigurnošću na razini poduzeća putem Azure identiteta.

Primjene: Izgradnja proizvodno spremnih AI agenata s korištenjem alata, višestepenih radnih tokova i scenarija integracije s poduzećem.

Evo nekoliko važnih osnovnih pojmova Microsoft Agent Frameworka:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service je noviji dodatak, predstavljen na Microsoft Ignite 2024. Omogućuje razvoj i implementaciju AI agenata s fleksibilnijim modelima, kao što je izravno pozivanje open-source LLM-ova poput Llama 3, Mistral i Cohere.

Microsoft Foundry Agent Service pruža snažnije mehanizme sigurnosti poduzeća i metode pohrane podataka, što ga čini pogodnim za poduzetničke aplikacije.

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

Ova usluga je trenutno u javnoj verziji (Public Preview) i podržava Python i C# za izgradnju agenata.

Koristeći Microsoft Foundry Agent Service Python SDK, možemo stvoriti 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-4.1-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 pojmovi

Microsoft Foundry Agent Service ima sljedeće osnovne pojmove:

Primjene: Microsoft Foundry Agent Service je dizajniran za poduzetničke aplikacije koje zahtijevaju sigurnu, skalabilnu i fleksibilnu implementaciju AI agenata.

Koja je razlika između ovih pristupa?

Zvuči kao da postoji preklapanje, ali postoje neke ključne razlike u pogledu dizajna, mogućnosti i ciljane uporabe:

Još uvijek niste sigurni koji odabrati?

Primjene

Pogledajmo može li vam pomoći pregled nekih uobičajenih slučajeva korištenja:

P: Izrađujem proizvodne AI aplikacije agenata i želim brzo započeti

O: Microsoft Agent Framework je izvrstan izbor. Pruža jednostavan, Pythonovski API preko FoundryChatClient koji vam dopušta 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: Microsoft Foundry Agent Service je najbolji izbor. To je platforma koja pruža ugrađene mogućnosti za višestruke modele, Azure AI Search, Bing Search i Azure Functions. Omogućuje vam da lako gradite agente u Foundry portalu i implementirate ih na velikoj skali.

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

O: Počnite s Microsoft Agent Frameworkom za izgradnju agenata, a zatim koristite Microsoft Foundry Agent Service kad trebate implementirati i skalirati u produkciji. Ovaj pristup omogućuje vam brzo iteriranje na logici agenta uz jasan put do implementacije na razini poduzeća.

Sažmimo ključne razlike u tablici:

Okvir Fokus Osnovni Pojmovi Primjene
Microsoft Agent Framework Pojednostavljeni SDK za agente s pozivanjem alata Agenti, Alati, Azure Identitet Izgradnja AI agenata, korištenje alata, višestepeni radni tokovi
Microsoft Foundry Agent Service Fleksibilni modeli, sigurnost poduzeća, generiranje koda, pozivanje alata Modularnost, Suradnja, Orkestracija procesa Sigurna, skalabilna i fleksibilna implementacija AI agenata

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

Odgovor je da, možete izravno integrirati svoje postojeće alate iz Azure ekosustava s Microsoft Foundry Agent Service, posebno jer je izgrađen da besprijekorno radi s drugim Azure uslugama. Na primjer, možete integrirati Bing, Azure AI Search i Azure Functions. Također postoji duboka integracija s Microsoft Foundry.

Microsoft Agent Framework također se integrira s Azure uslugama putem FoundryChatClient i Azure identiteta, što vam omogućuje izravno pozivanje Azure usluga iz vaših agent alata.

Primjeri koda

Imate li još pitanja o AI Agent Frameworkovima?

Pridružite se Microsoft Foundry Discord da se susretnete s drugim učenicima, sudjelujete na uredskim satima i dobijete odgovore na svoja pitanja o AI Agentima.

Reference

Prethodna lekcija

Uvod u AI agente i primjenu agenata

Sljedeća lekcija

Razumijevanje agentnih dizajnerskih obrazaca


Napomena: Ovaj dokument je preveden korištenjem AI prevoditeljskog servisa Co-op Translator. Iako težimo točnosti, imajte na umu da automatski prijevodi mogu sadržavati greške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za važne informacije preporuča se profesionalni ljudski prijevod. Nismo odgovorni za bilo kakva nesporazumevanja ili pogrešne interpretacije koje proizlaze iz korištenja ovog prijevoda.