ai-agents-for-beginners

Udforsk AI-agentrammer

(Klik på billedet ovenfor for at se videoen til denne lektion)

Udforsk AI-agentrammer

AI-agentrammer er softwareplatforme designet til at forenkle oprettelsen, udrulningen og styringen af AI-agenter. Disse rammer giver udviklere færdigbyggede komponenter, abstraktioner og værktøjer, der gør udviklingen af komplekse AI-systemer mere effektiv.

Disse rammer hjælper udviklere med at fokusere på de unikke aspekter af deres applikationer ved at tilbyde standardiserede tilgange til almindelige udfordringer i udviklingen af AI-agenter. De øger skalerbarhed, tilgængelighed og effektivitet ved opbygning af AI-systemer.

Introduktion

Denne lektion dækker:

Læringsmål

Målet med denne lektion er at hjælpe dig med at forstå:

Hvad er AI Agent Frameworks og hvad gør de muligt for udviklere?

Traditionelle AI-rammer kan hjælpe dig med at integrere AI i dine apps og forbedre dem på følgende måder:

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

AI-agentrammer repræsenterer mere end blot AI-rammer. De er designet til at muliggøre oprettelsen af intelligente agenter, der kan interagere med brugere, andre agenter og miljøet for at nå specifikke mål. Disse agenter kan udvise autonom adfærd, træffe beslutninger og tilpasse sig ændrede forhold. Lad os se på nogle nøglekapabiliteter, som AI-agentrammer muliggør:

Så kort sagt, agenter giver dig mulighed for at gøre mere, tage automatisering til næste niveau og skabe mere intelligente systemer, der kan tilpasse sig og lære af deres omgivelser.

Hvordan kan man hurtigt prototype, iterere og forbedre agentens evner?

Dette er et hurtigt udviklende område, men der er nogle ting, der er fælles på tværs af de fleste AI-agentrammer, som kan hjælpe dig med hurtigt at prototype og iterere, nemlig modulære komponenter, samarbejdsværktøjer og realtidslæring. Lad os dykke ned i disse:

Brug modulære komponenter

SDK’er som Microsoft Agent Framework tilbyder færdigbyggede komponenter såsom AI-connectors, værktøjsdefinitioner og agentstyring.

Hvordan teams kan bruge disse: Teams kan hurtigt samle disse komponenter for at skabe en funktionel prototype uden at starte fra bunden, hvilket muliggør hurtig eksperimenteren og iteration.

Hvordan det virker i praksis: Du kan bruge en færdigbygget parser til at udtrække information fra brugerinput, en hukommelsesmodul til at gemme og hente data, og en promptgenerator til at interagere med brugere — alt sammen uden at skulle bygge disse komponenter fra bunden.

Eksempelkode. Lad os se på et eksempel på, hvordan du kan bruge Microsoft Agent Framework med AzureAIProjectAgentProvider for at få modellen til at svare på brugerinput med tool calling:

# Microsoft Agent Framework Python Eksempel

import asyncio
import os
from typing import Annotated

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


# Definer en prøveværktøjsfunktion til at booke rejser
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)
    # Eksempel output: Din flyrejse til New York den 1. januar 2025 er blevet booket succesfuldt. God rejse! ✈️🗽


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

Hvad du kan se fra dette eksempel er, hvordan du kan udnytte en færdigbygget parser til at udtrække nøgleinformation fra brugerinput, såsom afgangssted, destination og dato for en flybookingsforespørgsel. Denne modulære tilgang giver dig mulighed for at fokusere på den overordnede logik.

Udnyt samarbejdsværktøjer

Rammer som Microsoft Agent Framework faciliterer oprettelsen af flere agenter, der kan arbejde sammen.

Hvordan teams kan bruge disse: Teams kan designe agenter med specifikke roller og opgaver, så de kan teste og forfine samarbejdsarbejdsgange og forbedre den samlede systemeffektivitet.

Hvordan det virker i praksis: Du kan oprette et team af agenter, hvor hver agent har en specialiseret funktion, såsom dataindsamling, analyse eller beslutningstagning. Disse agenter kan kommunikere og dele information for at nå et fælles mål, såsom at besvare en brugerhenvendelse eller fuldføre en opgave.

Eksempelkode (Microsoft Agent Framework):

# Opretter flere agenter, der arbejder sammen ved hjælp af Microsoft Agent Framework

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

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

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

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

# Kør agenter i rækkefølge på en opgave
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)

Hvad du ser i den tidligere kode er, hvordan du kan oprette en opgave, der involverer flere agenter, der arbejder sammen for at analysere data. Hver agent udfører en specifik funktion, og opgaven udføres ved at koordinere agenternes arbejde for at opnå det ønskede resultat. Ved at oprette dedikerede agenter med specialiserede roller kan du forbedre opgaveeffektivitet og ydeevne.

Lær i realtid

Avancerede rammer tilbyder muligheder for realtidsforståelse af kontekst og tilpasning.

Hvordan teams kan bruge disse: Teams kan implementere feedbacksløjfer, hvor agenter lærer af interaktioner og justerer deres adfærd dynamisk, hvilket fører til kontinuerlig forbedring og forfining af kapabiliteter.

Hvordan det virker i praksis: Agenter kan analysere brugerfeedback, miljødata og opgaveudfald for at opdatere deres videnbase, justere beslutningsalgoritmer og forbedre ydeevnen over tid. Denne iterative læringsproces gør det muligt for agenter at tilpasse sig skiftende forhold og brugerpræferencer, hvilket øger systemets effektivitet.

Hvad er forskellene mellem Microsoft Agent Framework og Azure AI Agent Service?

Der er mange måder at sammenligne disse tilgange på, men lad os se på nogle nøgleforskelle hvad angår design, kapabiliteter og målrettede brugsscenarier:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework tilbyder et strømlinet SDK til at bygge AI-agenter ved hjælp af AzureAIProjectAgentProvider. Det gør det muligt for udviklere at skabe agenter, der udnytter Azure OpenAI-modeller med indbygget værktøjskald, samtalestyring og virksomheds-grade sikkerhed gennem Azure-identitet.

Brugsscenarier: Bygning af produktionsklare AI-agenter med værktøjsbrug, flertrinsarbejdsgange og enterprise-integration.

Her er nogle vigtige kernekoncepter i Microsoft Agent Framework:

Azure AI Agent Service

Azure AI Agent Service er en mere recent tilføjelse, introduceret ved Microsoft Ignite 2024. Den tillader udvikling og udrulning af AI-agenter med mere fleksible modeller, såsom direkte kald til open-source LLM’er som Llama 3, Mistral og Cohere.

Azure AI Agent Service tilbyder stærkere virksomhedssikkerhedsmekanismer og datalagringsmetoder, hvilket gør den velegnet til enterprise-applikationer.

Den fungerer direkte sammen med Microsoft Agent Framework til at bygge og udrulle agenter.

Denne service er i Public Preview og understøtter Python og C# til opbygning af agenter.

Ved hjælp af Azure AI Agent Service Python SDK kan vi oprette en agent med et brugerdefineret værktøj:

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

# Definer værktøjsfunktioner
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())

Kernekoncepter

Azure AI Agent Service har følgende kernekoncepter:

Brugsscenarier: Azure AI Agent Service er designet til enterprise-applikationer, der kræver sikker, skalerbar og fleksibel udrulning af AI-agenter.

Hvad er forskellen mellem disse tilgange?

Det kan lyde som om der er overlap, men der er nogle nøgleforskelle med hensyn til design, kapabiliteter og målrettede brugsscenarier:

Er du stadig ikke sikker på, hvilken du skal vælge?

Brugsscenarier

Lad os se, om vi kan hjælpe dig ved at gennemgå nogle almindelige brugsscenarier:

Q: I’m building production AI agent applications and want to get started quickly

A: Microsoft Agent Framework er et fremragende valg. Det giver et simpelt, Python-venligt API via AzureAIProjectAgentProvider, der lader dig definere agenter med værktøjer og instruktioner på kun få linjer kode.

Q: I need enterprise-grade deployment with Azure integrations like Search and code execution

A: Azure AI Agent Service er det bedste valg. Det er en platformtjeneste, der tilbyder indbyggede kapabiliteter for flere modeller, Azure AI Search, Bing Search og Azure Functions. Det gør det nemt at bygge dine agenter i Foundry-portalen og udrulle dem i stor skala.

Q: I’m still confused, just give me one option

A: Start med Microsoft Agent Framework for at bygge dine agenter, og brug derefter Azure AI Agent Service, når du har brug for at udrulle og skalere dem i produktion. Denne tilgang lader dig iterere hurtigt på din agentlogik, samtidig med at du har en klar vej til enterprise-udrulning.

Lad os opsummere de vigtigste forskelle i en tabel:

Framework Fokus Kernekoncepter Anvendelsestilfælde
Microsoft Agent Framework Strømlinet agent-SDK med værktøjskald Agenter, Værktøjer, Azure-identitet Opbygning af AI-agenter, værktøjsbrug, flertrinsarbejdsgange
Azure AI Agent Service Fleksible modeller, virksomhedssikkerhed, kodegenerering, værktøjskald Modularitet, Samarbejde, Procesorkestrering Sikker, skalerbar og fleksibel udrulning af AI-agenter

Kan jeg integrere mine eksisterende Azure-økosystemværktøjer direkte, eller har jeg brug for selvstændige løsninger?

Svaret er ja, du kan integrere dine eksisterende Azure-økosystemværktøjer direkte med Azure AI Agent Service, især da den er bygget til at arbejde problemfrit sammen med andre Azure-tjenester. Du kan for eksempel integrere Bing, Azure AI Search og Azure Functions. Der er også dyb integration med Microsoft Foundry.

Microsoft Agent Framework integreres også med Azure-tjenester gennem AzureAIProjectAgentProvider og Azure-identitet, hvilket lader dig kalde Azure-tjenester direkte fra dine agentværktøjer.

Eksempelkoder

Har du flere spørgsmål om AI-agentframeworks?

Deltag i Microsoft Foundry Discord for at møde andre lærende, deltage i kontortimer og få svar på dine spørgsmål om AI-agenter.

Referencer

Forrige lektion

Introduktion til AI-agenter og agentbrugstilfælde

Næste lektion

Forstå agentiske designmønstre


Ansvarsfraskrivelse: Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi stræber efter nøjagtighed, bedes du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det oprindelige dokument på originalsproget bør betragtes som den autoritative kilde. For kritiske oplysninger anbefales en professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger som følge af brugen af denne oversættelse.