(Klõpsake ülaloleval pildil, et vaadata selle õppetunni videot)
Tehisintellekti agendi raamistikud on tarkvaraplatvormid, mis on loodud tehisintellekti agentide loomise, juurutamise ja haldamise lihtsustamiseks. Need raamistikud pakuvad arendajatele eelvalmis komponente, abstraktsioone ja tööriistu, mis aitavad sujuvamaks muuta keerukate tehisintellektilahenduste arendamise.
Need raamistikud aitavad arendajatel keskenduda oma rakenduste unikaalsetele aspektidele, pakkudes standardiseeritud lähenemisviise tehisintellekti agentide arendamise üldistele väljakutsetele. Nad parandavad skaleeritavust, ligipääsetavust ja tõhusust tehisintellektisüsteemide ehitamisel.
Selles õppetunnis käsitletakse:
Selle õppetunni eesmärk on aidata teil mõista:
Traditsioonilised tehisintellekti raamistikud võivad aidata teil integreerida tehisintellekti oma rakendustesse ning muuta need rakendused paremaks järgmistes valdkondades:
Tehisintellekti agendi raamistikud on rohkem kui lihtsalt tehisintellekti raamistikud. Need on loodud võimaldama nutikate agentide loomist, kes saavad suhelda kasutajate, teiste agentide ja keskkonnaga kindlate eesmärkide saavutamiseks. Need agentid võivad avaldada autonoomset käitumist, teha otsuseid ja kohaneda muutuvate oludega. Vaatame mõningaid AI Agent Frameworkide peamisi funktsionaalsusi:
Seega kokkuvõttes võimaldavad agentide raamistikud teil teha rohkem, viia automatiseerimine uuele tasemele, luua nutikamaid süsteeme, mis suudavad keskkonnast õppida ja kohaneda.
See valdkond areneb kiiresti, kuid enamikul tehisintellekti agendi raamistikutel on mõningaid ühiseid omadusi, mis aitavad teil kiiresti prototüüpe luua ja iteratsioone teha, nimelt moodulkomponendid, koostöövahendid ja reaalajas õppimine. Vaatame neid lähemalt:
SDK-d nagu Microsoft Agent Framework pakuvad eelvalmis komponente nagu tehisintellekti ühendajad, tööriistade definitsioonid ja agentide haldus.
Kuidas meeskonnad võivad neid kasutada: Meeskonnad saavad kiiresti kokkupanekuga luua funktsionaalse prototüübi ilma nullist alustamata, võimaldades kiiret eksperimenteerimist ja iteratsiooni.
Kuidas see praktikas toimib: Võite kasutada eelvalmis parserit kasutaja sisendi võtmetähtsusega info väljavõtmiseks, mälumoodulit andmete salvestamiseks ja tagasivõtmiseks ning püsivormi genereerijat kasutajatega suhtlemiseks, ilma et peaksite neid komponente nullist ehitama.
Näidiskood. Vaatame näidet, kuidas kasutada Microsoft Agent Frameworki koos AzureAIProjectAgentProvider-ga, et mudel reageeriks kasutaja sisendile tööriista kutsumisega:
# Microsoft Agent Frameworki Pythoni näide
import asyncio
import os
from typing import Annotated
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
# Määratle näidistööriista funktsioon reisi broneerimiseks
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)
# Näidisväljund: Teie lend New Yorki 1. jaanuaril 2025 on edukalt broneeritud. Head reisi! ✈️🗽
if __name__ == "__main__":
asyncio.run(main())
Selles näites näete, kuidas saab kasutada eelvalmis parserit võtmetähtsusega teabe (näiteks lennupileti broneerimise päritolu, sihtpunkti ja kuupäeva) väljavõtmiseks kasutaja sisendist. See moodulpõhine lähenemine võimaldab teil keskenduda kõrgetasemelisele loogikale.
Raamistikud nagu Microsoft Agent Framework võimaldavad luua mitut agenti, kes saavad omavahel koostööd teha.
Kuidas meeskonnad võivad neid kasutada: Meeskonnad saavad kujundada agentidele spetsiifilised rollid ja ülesanded, võimaldades neil testida ja täiustada koostööprotsesse ning parandada süsteemi üldist tõhusust.
Kuidas see praktikas toimib: Võite luua agentide tiimi, kus iga agent täidab spetsialiseerunud funktsiooni, näiteks andmete toomine, analüüs või otsuste tegemine. Need agentid saavad omavahel suhelda ja infot jagada ühise eesmärgi saavutamiseks, näiteks kasutajapäringule vastamiseks või ülesande täitmiseks.
Näidiskood (Microsoft Agent Framework):
# Mitme agendi loomine, kes töötavad koos Microsoft Agent Frameworki abil
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
# Andmete hankimise agent
agent_retrieve = await provider.create_agent(
name="dataretrieval",
instructions="Retrieve relevant data using available tools.",
tools=[retrieve_tool],
)
# Andmeanalüüsi agent
agent_analyze = await provider.create_agent(
name="dataanalysis",
instructions="Analyze the retrieved data and provide insights.",
tools=[analyze_tool],
)
# Käivita agendid ülesande täitmiseks järjestikku
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)
Eelnevas koodis näete, kuidas luua ülesanne mitme agenti kaasamisega andmete analüüsimiseks. Iga agent täidab konkreetset funktsiooni ja ülesanne täidetakse agentide koordineerimise kaudu soovitud tulemuse saavutamiseks. Pühendatud agentide loomine spetsialiseerunud rollidega võimaldab parandada ülesannete tõhusust ja tulemuslikkust.
Taas keerukamad raamistikud pakuvad võimalusi reaalajas kontekstitundlikuks mõistmiseks ja kohandamiseks.
Kuidas meeskonnad võivad neid kasutada: Meeskonnad saavad rakendada tagasisidetsükleid, kus agent õpib suhtlemisest ja kohandab dünaamiliselt oma käitumist, mis võimaldab pidevat arengut ja võimete täiustamist.
Kuidas see praktikas toimib: Agentidel on võime analüüsida kasutajate tagasisidet, keskkonnaandmeid ja ülesannete tulemusi, et uuendada oma teadmistebaasi, kohandada otsustusalgoritme ja parandada tulemusi aja jooksul. See iteratiivne õppimisprotsess võimaldab agentidel kohaneda muutuvate tingimuste ja kasutajapreferentsidega, parandades süsteemi üldist efektiivsust.
Neid lähenemisi saab võrrelda mitmeti, kuid vaatame mõned olulised erinevused disaini, funktsionaalsuste ja sihtkasutuse osas:
Microsoft Agent Framework pakub lihtsustatud SDK-d AI agentide loomiseks AzureAIProjectAgentProvider abil. See võimaldab arendajatel luua agente, kes kasutavad Azure OpenAI mudeleid koos sisseehitatud tööriistakutsumise, vestluse halduse ja ettevõtte turvalisusega Azure identiteedi kaudu.
Kasutusjuhtumid: Tootmiskõlblike tehisintellekti agentide ehitamine tööriistakasutusega, mitmeastmeliste töövoogude ja ettevõtte integratsioonistsenaarioidega.
Siin on mõned Microsoft Agent Frameworki olulised põhimõisted:
AzureAIProjectAgentProvider kaudu ja konfigureeritakse nime, juhiste ja tööriistadega. Agent saab:
Siin on koodinäide, kuidas agenti luua:
import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential
provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
agent = await provider.create_agent(
name="my_agent",
instructions="You are a helpful assistant.",
)
response = await agent.run("Hello, World!")
print(response)
Tööriistad. Raamistik toetab tööriistade defineerimist Python funktsioonidena, mida agent saab automaatselt kutsuda. Tööriistad registreeritakse agendi loomisel:
def get_weather(location: str) -> str:
"""Get the current weather for a location."""
return f"The weather in {location} is sunny, 72\u00b0F."
agent = await provider.create_agent(
name="weather_agent",
instructions="Help users check the weather.",
tools=[get_weather],
)
Mitme agendi koordineerimine. Võite luua mitu agenti erinevate spetsialiseerumistega ja koordineerida nende tööd:
planner = await provider.create_agent(
name="planner",
instructions="Break down complex tasks into steps.",
)
executor = await provider.create_agent(
name="executor",
instructions="Execute the planned steps using available tools.",
tools=[execute_tool],
)
plan = await planner.run("Plan a trip to Paris")
result = await executor.run(f"Execute this plan: {plan}")
AzureCliCredential (või DefaultAzureCredential), mis kõrvaldab API võtmete käsitsi haldamise vajaduse.Azure AI Agent Service on hiljutine täiendus, mis esitleti Microsoft Ignite 2024 üritusel. See võimaldab AI agentide arendust ja juurutamist paindlikumate mudelitega, näiteks otse avatud lähtekoodiga LLM-ide (nagu Llama 3, Mistral ja Cohere) kutsumise kaudu.
Azure AI Agent Service pakub tugevamaid ettevõtte turvamehhanisme ja andmete talletamise meetodeid, sobides hästi ettevõtte rakendusteks.
See töötab vahetult koos Microsoft Agent Frameworkiga agentide ehitamiseks ja juurutamiseks.
Teenust toetatakse praegu Avalikus eelvaates ning see toetab agentide loomist Pythonis ja C#-s.
Azure AI Agent Service Python SDK abil saame luua agendi kasutajamääratud tööriistaga:
import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
# Määra tööriista funktsioonid
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())
Azure AI Agent Service põhikontseptsioonid on järgmised:
Agent. Azure AI Agent Service integreerub Microsoft Foundry-ga. AI Foundry’s tegutseb AI Agent kui “nutikas” mikroteenus, mida saab kasutada küsimustele vastamiseks (RAG), tegevuste sooritamiseks või töövoogude täielikuks automatiseerimiseks. See saavutatakse generatiivsete tehisintellekti mudelite ja tööriistade kombineerimisega, mis võimaldavad juurdepääsu ja suhtlemist reaalse maailma andmeallikatega. Näide agendist:
agent = project_client.agents.create_agent(
model="gpt-4o-mini",
name="my-agent",
instructions="You are helpful agent",
tools=code_interpreter.definitions,
tool_resources=code_interpreter.resources,
)
Selles näites luuakse agent mudeliga gpt-4o-mini, nimega my-agent ja juhistega Sa oled abivalmis agent. Agendile on varustatud tööriistad ja ressursid koodi tõlgendamise ülesannete täitmiseks.
Vestlusteema ja sõnumid. Vestlusteema on teine oluline mõiste. See esindab vestlust või suhtlust agendi ja kasutaja vahel. Vestlusteemasid saab kasutada vestluse edenemise jälgimiseks, konteksti informatsiooni salvestamiseks ja suhtluse oleku haldamiseks. Näide vestlusteemast:
thread = project_client.agents.create_thread()
message = project_client.agents.create_message(
thread_id=thread.id,
role="user",
content="Could you please create a bar chart for the operating profit using the following data and provide the file to me? Company A: $1.2 million, Company B: $2.5 million, Company C: $3.0 million, Company D: $1.8 million",
)
# Ask the agent to perform work on the thread
run = project_client.agents.create_and_process_run(thread_id=thread.id, agent_id=agent.id)
# Fetch and log all messages to see the agent's response
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")
Eelnevas koodis luuakse vestlusteema. Seejärel saadetakse sõnum vestlusteemale. create_and_process_run kutsumisega palutakse agendil vestlusteemaga tööd teha. Lõpuks hangitakse ja logitakse sõnumid, et näha agendi vastust. Sõnumid näitavad vestluse edenemist kasutaja ja agendi vahel. Samuti on oluline mõista, et sõnumid võivad olla erinevat tüüpi, näiteks tekst, pilt või fail, mis on agendi töö tulemus, näiteks pilt või tekstivastus. Arendajana saate neid andmeid kasutada vastuse edasiseks töötlemiseks või kasutajale esitamiseks.
Integratsioon Microsoft Agent Frameworkiga. Azure AI Agent Service töötab sujuvalt koos Microsoft Agent Frameworkiga, mis tähendab, et saate ehitada agente AzureAIProjectAgentProvider abil ja juurutada neid tootmiskeskkonnas Agent Service kaudu.
Kasutusjuhtumid: Azure AI Agent Service on mõeldud ettevõtte rakendustele, mis nõuavad turvalist, skaleeritavat ja paindlikku AI agentide juurutamist.
Tundub, et kattuvust on, kuid disaini, funktsionaalsuse ja sihtotstarbe osas on olulisi erinevusi:
Kas ikka ei tea, kumba valida?
Vaatame, kas saame aidata mõningate tavapäraste kasutusjuhtumite põhjal:
K: Ehitan tootmiskõlblikke tehisintellekti agentide rakendusi ja soovin kiiresti alustada
V: Microsoft Agent Framework on suurepärane valik. See pakub lihtsat, Pythonilikku API-d
AzureAIProjectAgentProviderkaudu, mis võimaldab vaid mõne koodirea abil defineerida agente tööriistade ja juhistega.
K: Vajan ettevõtte tasemel juurutust Azure integratsioonidega nagu Search ja koodi täitmine
V: Azure AI Agent Service on kõige sobivam. See on platvormiteenus, mis pakub mitme mudeli, Azure AI Searchi, Bing Searchi ja Azure Functionsi sisseehitatud funktsioone. See teeb agentide ehitamise Foundry portaalis lihtsaks ja võimaldab neid suuremas mahus juurutada.
K: Olen endiselt segaduses, anna üks valik
V: Alusta Microsoft Agent Frameworkist agentide loomiseks ja kasuta seejärel Azure AI Agent Service’i, kui vajad agentide tootmiskeskkonnas juurutamist ja skaleerimist. See lähenemine võimaldab teil kiiresti agentide loogikat arendada, säilitades selge tee ettevõtte juurutuseks.
Kokkuvõtame peamised erinevused tabelis:
| Raamistik | Keskendumine | Põhimõisted | Kasutusjuhtumid |
|---|---|---|---|
| Microsoft Agent Framework | Lihtsustatud agendi SDK tööriistakutsumisega | Agendid, Tööriistad, Azure identiteet | AI agentide loomine, tööriistakasutus, mitmeastmelised töövood |
| Azure AI Agent Service | Paindlikud mudelid, ettevõtte turvalisus, koodigeneratsioon, tööriistakutsumine | Moodulsus, Koostöö, Protsesside orkestreerimine | Turvaline, skaleeritav ja paindlik AI agentide juurutus |
Vastus on jaatav, saate oma olemasolevaid Azure’i ökosüsteemi tööriistu integreerida otse Azure AI Agent teenusega, eriti kuna see on ehitatud sujuvaks koostööks teiste Azure’i teenustega. Näiteks võite integreerida Bingi, Azure AI Otsingu ja Azure Funktsioonid. Samuti on olemas sügav integratsioon Microsoft Foundryga.
Microsoft Agent raamistiku saab samuti integreerida Azure’i teenustega läbi AzureAIProjectAgentProvider ja Azure identiteedi, mis võimaldab teil oma agente tööriistadest Azure’i teenuseid otse kutsuda.
Liituge Microsoft Foundry Discordiga, et kohtuda teiste õppuritega, osaleda kantselei aegadel ja saada vastuseid oma AI Agentide küsimustele.
Introduction to AI Agents and Agent Use Cases
Understanding Agentic Design Patterns
Vastutusest loobumine: See dokument on tõlgitud kasutades tehisintellekti tõlketeenust Co-op Translator. Kuigi püüame täpsust, tuleb arvestada, et automatiseeritud tõlgetes võib esineda vigu või ebatäpsusi. Originaaldokument oma algkeeles on autoriteetne allikas. Olulise teabe puhul soovitatakse professionaalset inimtõlget. Me ei vastuta tõlke kasutamisest tulenevate arusaamatuste ega valesti tõlgendamise eest.