ai-agents-for-beginners

Истраживање AI оквира за агенте

(Кликните на слику изнад да бисте гледали видео о овој лекцији)

Истражите AI оквире за агенте

AI оквири за агенте су софтверске платформе дизајниране да поједноставе креирање, развој и управљање AI агентима. Ови оквири обезбеђују програмерима унапред изграђене компоненте, апстракције и алате који убрзавају развој сложених AI система.

Ови оквири помажу програмерима да се фокусирају на јединствене аспекте својих апликација пружајући стандардизоване приступе за уобичајене изазове у развоју AI агената. Побољшавају скалабилност, приступачност и ефикасност у изградњи AI система.

Увод

Ова лекција ће покрити:

Циљеви учења

Циљеви ове лекције су да вам помогну да разумете:

Шта су AI оквири за агенте и шта програмери могу са њима да ураде?

Традиционални AI оквири могу вам помоћи да интегришете AI у ваше апликације и унапредите их на следеће начине:

Све то звучи сјајно, па зашто нам треба AI оквир за агенте?

AI оквири за агенте представљају нешто више од обичних AI оквира. Они су дизајнирани да омогуће креирање интелигентних агената који могу да комуницирају са корисницима, другим агентима и окружењем да би постигли специфичне циљеве. Ови агенти могу показивати аутономно понашање, доносити одлуке и прилагођавати се променљивим условима. Погледајмо неке кључне могућности које омогућују AI оквири за агенте:

Дакле, у резимеу, агенти вам омогућавају да урадите више, да подигнете аутоматизацију на виши ниво, да креирате интелигентније системе који могу да се прилагођавају и уче из свог окружења.

Како брзо направити прототип, итерирати и унапредити могућности агента?

Ово је динамично поље, али постоје неке заједничке ствари код већине AI оквира за агенте које могу помоћи да брзо направите прототип и итерирарате, а то су модуларне компоненте, алати за сарадњу и учење у реалном времену. Погледајмо ово детаљније:

Користите модуларне компоненте

SDK-ови као што је Microsoft Agent Framework нуде унапред изграђене компоненте као што су AI конектори, дефиниције алата и управљање агентима.

Како тимови могу да их користе: Тимови могу брзо саставити ове компоненте како би креирали функционални прототип без почетка од нуле, омогућавајући брзу експериментацију и итерацију.

Како функционише у пракси: Можете користити унапред изграђени парсер за извлачење информација из корисничког уноса, меморијски модул за складиштење и пренос података и генератор упита за интеракцију са корисницима, све без потребе да градите ове компоненте од почетка.

Пример кода. Погледајмо пример како можете користити Microsoft Agent Framework са FoundryChatClient да модел одговара на кориснички унос уз позивање алата:

# Пример Microsoft Agent Framework Python-а

import asyncio
import os

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


# Дефинишите пример функције алата за резервацију путовања
@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)
    # Пример излаза: Ваш лет за Њујорк 1. јануара 2025. успешно је резервисан. Срећан пут! ✈️🗽


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

Оно што можете видети из овог примера је како можете искористити унапред изграђени парсер за извлачење кључних информација из корисничког уноса, као што су порекло, одредиште и датум захтева за резервацију лета. Ова модуларна метода вам омогућава да се фокусирате на логику високог нивоа.

Искористите алате за сарадњу

Оквири као што је Microsoft Agent Framework олакшавају креирање више агената који могу радити заједно.

Како тимови могу да их користе: Тимови могу дизајнирати агенте са специфичним улогама и задацима, омогућавајући им да тестирају и унапређују сарадничке радне токове и побољшају укупну ефикасност система.

Како функционише у пракси: Можете креирати тим агената где сваки агент има специјализовану функцију, као што су приступ подацима, анализа или доношење одлука. Ови агенти могу да комуницирају и деле информације да би постигли заједнички циљ, као одговор на кориснички упит или завршетак задатка.

Пример кода (Microsoft Agent Framework):

# Креирање више агената који раде заједно користећи 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_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Агенс за анализу података
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Покрени агенте узастопно на задатку
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)

Оно што видите у претходном коду је како можете креирати задатак који укључује сарадњу више агената у анализи података. Сваки агент обавља специфичну функцију, а задатак се извршава координацијом агената ка жељеном резултату. Креирањем посвећених агената са специјализованим улогама, можете побољшати ефикасност и перформансе задатака.

Учење у реалном времену

Напредни оквири пружају могућности за разумевање контекста и прилагођавање у реалном времену.

Како тимови могу да их користе: Тимови могу имплементирати повратне петље у којима агенти уче из интеракција и динамички прилагођавају понашање, што води ка континуираном побољшању и унапређењу могућности.

Како функционише у пракси: Агенти могу анализирати кориснички фидбек, податке о окружењу и исходе задатака да ажурирају своју базу знања, прилагођавају алгоритме доношења одлука и побољшавају перформансе током времена. Овај итеративни процес учења омогућава агентима да се прилагођавају променљивим условима и преференцама корисника, повећавајући укупну ефикасност система.

Које су разлике између Microsoft Agent Framework и Microsoft Foundry Agent Service?

Постоји много начина да се упореде ови приступи, али погледајмо неке кључне разлике у погледу дизајна, могућности и намењених случајева употребе:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework обезбеђује поједностављени SDK за израду AI агената коришћењем FoundryChatClient. Омогућава програмерима да креирају агенте који искориштавају Azure OpenAI моделе са уграђеним позивањем алата, управљањем разговором и безбедношћу предузећа преко Azure идентитета.

Примери употребе: Израда AI агената спремних за продукцију са коришћењем алата, вишестепеним радним токовима и интеграцијом у предузећа.

Ево неколико важних основних концепата Microsoft Agent Framework:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service је новији додатак, представљен на Microsoft Ignite 2024. Он омогућава развој и постављање AI агената са флексибилнијим моделима, као што је директно позивање open-source LLM модела попут Llama 3, Mistral и Cohere.

Microsoft Foundry Agent Service пружа јаче безбедносне механизме за предузећа као и методе складиштења података, чинећи га погодним за апликације предузећа.

Ради одмах у сарадњи са Microsoft Agent Framework-ом за изградњу и постављање агената.

Овај сервис је тренутно у јавном прегледу и подржава Python и C# за израду агената.

Користећи Microsoft Foundry Agent Service Python SDK можемо креирати агента са алатом дефинисаним од стране корисника:

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

# Дефиниши функције алата
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())

Основни концепти

Microsoft Foundry Agent Service има следеће основне концепте:

Примери употребе: Microsoft Foundry Agent Service је дизајниран за апликације предузећа које захтевају безбедно, скалабилно и флексибилно постављање AI агената.

Која је разлика између ових приступа?

Заиста изгледа да постоји преклапање, али постоје неке кључне разлике у дизајну, могућностима и намењеним случајевима употребе:

Још нисте сигурни који да одаберете?

Примери употребе

Погледајмо да ли можемо помоћи кроз неке честе случајеве употребе:

П: Изграђујем AI агент апликације спремне за продукцију и желим брз старт

О: Microsoft Agent Framework је одличан избор. Обезбеђује једноставан, Python-ски API преко FoundryChatClient који вам омогућава да дефинишете агенте са алатима и упутствима у само неколико линија кода.

П: Потребна ми је ентерпрајс дистрибуција са Azure интеграцијама као Search и извршење кода

О: Microsoft Foundry Agent Service је најбољи избор. То је платформа која нуди уграђене могућности за више модела, Azure AI Search, Bing Search и Azure Functions. Омогућава једноставну израду ваших агената у Foundry порталу и њихово постављање у великом обиму.

П: Још сам збуњен, дајте ми једну опцију

О: Почните са Microsoft Agent Framework за израду ваших агената, а затим користите Microsoft Foundry Agent Service када вам треба постављање и масштабирање у продукцији. Овај приступ вам омогућава брзе итерације на логици агената уз јасан пут ка ентерпрајс дистрибуцији.

Резимирајмо кључне разлике у табели:

Оквир Фокус Основни концепти Примери употребе
Microsoft Agent Framework Поједностављени агентски SDK са позивима алата Агенти, Алати, Azure идентитет Изградња AI агената, коришћење алата, вишестепени радни токови
Microsoft Foundry Agent Service Флексибилни модели, безбедност предузећа, генерисање кода, позив алата Модуларност, сарадња, оркестрација процеса Безбедно, скалабилно и флексибилно постављање AI агената

Могу ли директно интегрисати своје постојеће алате из Azure екосистема или ми требају самостална решења?

Одговор је да, можете интегрисати ваше постојеће Azure алате директно са Microsoft Foundry Agent Service, посебно јер је он направљен да беспрекорно ради са другим Azure сервисима. На пример, могли бисте интегрисати Bing, Azure AI Search и Azure Functions. Постоји и дубока интеграција са Microsoft Foundry.

Microsoft Agent Framework такође интегрише са Azure сервисима кроз FoundryChatClient и Azure идентитет, омогућавајући вам да позивате Azure сервисе директно из ваших агенских алата.

Примери кода

Имате још питања о AI Agent Frameworks?

Придружите се Microsoft Foundry Discord да упознате друге ученике, присуствујете office hours и добијете одговоре на ваша питања о AI агентима.

Референце

Претходна лекција

Увод у AI агенте и случајеве употребе агената

Следећа лекција

Разумевање агентних образаца дизајна


Изјава о одрицању одговорности: Овај документ је преведен коришћењем услуге за аутоматски превод Co-op Translator. Иако тежимо тачности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.