ai-agents-for-beginners

Utforske AI Agent-rammeverk

(Klikk på bildet over for å se video av denne leksjonen)

Utforsk AI Agent-rammeverk

AI agent-rammeverk er programvareplattformer designet for å forenkle opprettelse, distribusjon og administrasjon av AI-agenten. Disse rammeverkene gir utviklere ferdigbygde komponenter, abstraksjoner og verktøy som effektiviserer utviklingen av komplekse AI-systemer.

Disse rammeverkene hjelper utviklere å fokusere på de unike aspektene ved deres applikasjoner ved å tilby standardiserte tilnærminger til vanlige utfordringer i AI-agentutvikling. De forbedrer skalerbarhet, tilgjengelighet og effektivitet i bygging av AI-systemer.

Introduksjon

Denne leksjonen vil dekke:

Læringsmål

Målene med denne leksjonen er å hjelpe deg å forstå:

Hva er AI Agent-rammeverk og hva muliggjør de for utviklere?

Tradisjonelle AI-rammeverk kan hjelpe deg med å integrere AI i appene dine og gjøre disse appene bedre på følgende måter:

Det høres flott ut, men hvorfor trenger vi AI Agent-rammeverket?

AI Agent-rammeverk representerer mer enn bare AI-rammeverk. De er designet for å muliggjøre opprettelsen av intelligente agenter som kan samhandle med brukere, andre agenter og miljøet for å oppnå spesifikke mål. Disse agentene kan utvise autonom atferd, ta beslutninger og tilpasse seg endrede forhold. La oss se på noen nøkkelfunksjoner som AI Agent-rammeverk muliggjør:

Kort sagt, lar agenter deg gjøre mer, ta automatisering til neste nivå, og skape mer intelligente systemer som kan tilpasse seg og lære av sitt miljø.

Hvordan raskt prototype, iterere og forbedre agentens evner?

Dette er et raskt utviklende felt, men det finnes enkelte ting som er felles for de fleste AI Agent-rammeverk som kan hjelpe deg å raskt prototype og iterere, nemlig modulære komponenter, samarbeidende verktøy og sanntidslæring. La oss dykke ned i disse:

Bruk modulære komponenter

SDK-er som Microsoft Agent Framework tilbyr ferdigbygde komponenter som AI-koblinger, verktøydefinisjoner og agentadministrasjon.

Hvordan team kan bruke disse: Team kan raskt sette sammen disse komponentene for å lage en funksjonell prototype uten å starte fra bunnen, noe som muliggjør rask eksperimentering og iterasjon.

Hvordan det fungerer i praksis: Du kan bruke en ferdigbygget parser for å hente ut informasjon fra brukerinput, en minnemodul til å lagre og hente data, og en prompt-generator for å interagere med brukere, alt uten å måtte bygge disse komponentene fra bunnen.

Eksempelkode. La oss se et eksempel på hvordan du kan bruke Microsoft Agent Framework med AzureAIProjectAgentProvider for å få modellen til å svare på brukerinput med verktøyskall:

# 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 eksempelverktøyfunksjon for å bestille reise
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)
    # Eksempelutdata: Flyet ditt til New York den 1. januar 2025 har blitt bestilt. God tur! ✈️🗽


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

Hva du kan se fra dette eksemplet er hvordan du kan utnytte en ferdigbygget parser for å hente nøkkelinformasjon fra brukerinput, som opprinnelse, destinasjon og dato for en flybestillingsforespørsel. Denne modulære tilnærmingen lar deg fokusere på den overordnede logikken.

Utnytt samarbeidsverktøy

Rammeverk som Microsoft Agent Framework legger til rette for å lage flere agenter som kan arbeide sammen.

Hvordan team kan bruke disse: Team kan designe agenter med spesifikke roller og oppgaver, slik at de kan teste og forbedre samarbeidsflyter og øke systemets totale effektivitet.

Hvordan det fungerer i praksis: Du kan opprette et team av agenter hvor hver agent har en spesialisert funksjon, som datainnhenting, analyse eller beslutningstaking. Disse agentene kan kommunisere og dele informasjon for å oppnå et felles mål, som å svare på en brukerhenvendelse eller fullføre en oppgave.

Eksempelkode (Microsoft Agent Framework):

# Opprette flere agenter som samarbeider ved hjelp av Microsoft Agent Framework

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

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

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

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

# Kjør agentene i rekkefølge på en oppgave
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)

I den forrige koden ser du hvordan du kan lage en oppgave som involverer flere agenter som samarbeider for å analysere data. Hver agent utfører en spesifikk funksjon, og oppgaven utføres ved å koordinere agentene for å oppnå ønsket resultat. Ved å skape dedikerte agenter med spesialiserte roller kan du forbedre effektivitet og ytelse.

Lær i sanntid

Avanserte rammeverk tilbyr evner for sanntids-kontekstforståelse og tilpasning.

Hvordan team kan bruke disse: Team kan implementere tilbakemeldingssløyfer hvor agenter lærer av interaksjoner og justerer atferden dynamisk, noe som fører til kontinuerlig forbedring og raffinering av evner.

Hvordan det fungerer i praksis: Agenter kan analysere brukerfeedback, miljødata og resultat av oppgaver for å oppdatere sin kunnskapsbase, justere beslutningsalgoritmer og forbedre ytelsen over tid. Denne iterative læringsprosessen gjør at agenter kan tilpasse seg skiftende forhold og brukerpreferanser, og øke effektiviteten i systemet.

Hva er forskjellene mellom Microsoft Agent Framework og Azure AI Agent Service?

Det finnes mange måter å sammenligne disse tilnærmingene på, men la oss se på noen nøkkelforskjeller i design, funksjonalitet og målrettede bruksområder:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework gir et strømlinjeformet SDK for bygging av AI-agenter ved bruk av AzureAIProjectAgentProvider. Det gjør det mulig for utviklere å lage agenter som benytter Azure OpenAI-modeller med innebygd verktøyskall, samtalehåndtering og bedriftsnivå sikkerhet gjennom Azure-identitet.

Bruksområder: Bygging av produksjonsklare AI-agenter med verktøybruk, fler-trinns arbeidsflyter og bedriftsintegrasjon.

Her er noen viktige kjernebegreper i Microsoft Agent Framework:

Azure AI Agent Service

Azure AI Agent Service er en nyere tjeneste, introdusert på Microsoft Ignite 2024. Den muliggjør utvikling og distribusjon av AI-agenter med mer fleksible modeller, som direkte bruk av open-source LLM-er som Llama 3, Mistral og Cohere.

Azure AI Agent Service tilbyr sterkere bedrifts-sikkerhetsmekanismer og datalagringsmetoder, noe som gjør den egnet for bedriftsapplikasjoner.

Den fungerer ut av boksen med Microsoft Agent Framework for bygging og distribusjon av agenter.

Tjenesten er nå i Public Preview og støtter Python og C# for agentbygging.

Ved bruk av Azure AI Agent Service Python SDK kan vi lage en agent med et brukerdefinert verktøy:

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

# Definer verktøyfunksjoner
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())

Kjernebegreper

Azure AI Agent Service har følgende kjernebegreper:

Bruksområder: Azure AI Agent Service er designet for bedriftsapplikasjoner som krever sikker, skalerbar og fleksibel distribusjon av AI-agenter.

Hva er forskjellen mellom disse tilnærmingene?

Det kan virke som det er overlapp, men det finnes noen nøkkelforskjeller i design, funksjonalitet og målrettede bruksområder:

Er du fortsatt usikker på hvilken du skal velge?

Bruksområder

La oss se om vi kan hjelpe ved å gå gjennom noen vanlige brukstilfeller:

Q: Jeg bygger produksjonsklare AI-agentapplikasjoner og vil komme raskt i gang

A: Microsoft Agent Framework er et godt valg. Det tilbyr et enkelt, Python-vennlig API via AzureAIProjectAgentProvider som lar deg definere agenter med verktøy og instruksjoner på bare noen få kodelinjer.

Q: Jeg trenger enterprise-klare distribusjoner med Azure-integrasjoner som Search og kodeutførelse

A: Azure AI Agent Service passer best. Det er en plattformtjeneste som tilbyr innebygde funksjoner for flere modeller, Azure AI Search, Bing Search og Azure Functions. Det gjør det enkelt å bygge agenter i Foundry-portalen og distribuere dem i stor skala.

Q: Jeg er fortsatt forvirret, gi meg bare ett alternativ

A: Start med Microsoft Agent Framework for å bygge agentene dine, og bruk deretter Azure AI Agent Service når du trenger å distribuere og skalere dem i produksjon. Denne tilnærmingen lar deg iterere raskt på agentlogikken samtidig som du har en klar vei til enterprise-distribusjon.

La oss oppsummere nøkkelforskjellene i en tabell:

Rammeverk Fokus Kjernebegreper Bruksområder
Microsoft Agent Framework Strømlinjeformet agent-SDK med verktøyskall Agenter, Verktøy, Azure-identitet Bygging av AI-agenter, verktøysbruk, fler-trinns arbeidsflyter
Azure AI Agent Service Fleksible modeller, bedrifts-sikkerhet, kodegenerering, verktøyskall Modularitet, Samarbeid, Prosessorchestrasjon Sikker, skalerbar og fleksibel distribusjon av AI-agenter

Kan jeg integrere mine eksisterende Azure-økosystemverktøy direkte, eller trenger jeg frittstående løsninger?

Svaret er ja, du kan integrere dine eksisterende Azure-økosystemverktøy direkte med Azure AI Agent Service spesielt, siden det er bygget for å fungere sømløst med andre Azure-tjenester. Du kan for eksempel integrere Bing, Azure AI Search og Azure Functions. Det er også dyp integrasjon med Microsoft Foundry.

Microsoft Agent Framework integreres også med Azure-tjenester gjennom AzureAIProjectAgentProvider og Azure-identitet, som lar deg kalle Azure-tjenester direkte fra agentverktøyene dine.

Sample Codes

Got More Questions about AI Agent Frameworks?

Join the Microsoft Foundry Discord to meet with other learners, attend office hours and get your AI Agents questions answered.

References

Previous Lesson

Introduction to AI Agents and Agent Use Cases

Next Lesson

Understanding Agentic Design Patterns


Ansvarsfraskrivelse: Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på dets originale språk skal anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.