logo
0
0
WeChat Login
localizeflow[bot]<skytin1004@users.noreply.github.com>
chore(i18n): sync translations with latest source changes (chunk 1/1, 171 changes)

Изследване на рамки за AI агенти

(Кликнете върху изображението по-горе, за да гледате видеото на този урок)

Изследване на рамки за AI агенти

Рамките за AI агенти са софтуерни платформи, проектирани да опростят създаването, внедряването и управлението на AI агенти. Тези рамки предоставят на разработчиците предварително изградени компоненти, абстракции и инструменти, които улесняват разработката на сложни AI системи.

Тези рамки помагат на разработчиците да се фокусират върху уникалните аспекти на техните приложения, като предоставят стандартизирани подходи към често срещани предизвикателства при разработката на AI агенти. Те подобряват мащабируемостта, достъпността и ефективността при изграждането на AI системи.

Въведение

Този урок ще обхване:

  • Какво представляват рамките за AI агенти и какво позволяват на разработчиците да постигнат?
  • Как екипите могат да използват тези рамки за бързо прототипиране, итерация и подобряване на възможностите на техния агент?
  • Какви са разликите между рамките и инструментите, създадени от Microsoft (Azure AI Agent Service и the Microsoft Agent Framework)?
  • Мога ли да интегрирам директно вече съществуващите си инструменти от екосистемата Azure, или имам нужда от самостоятелни решения?
  • Какво представлява услугата Azure AI Agents и как тя ми помага?

Цели на обучението

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

  • Ролята на рамките за AI агенти в разработката на AI.
  • Как да използвате рамките за AI агенти за изграждане на интелигентни агенти.
  • Ключовите възможности, които осигуряват рамките за AI агенти.
  • Разликите между Microsoft Agent Framework и Azure AI Agent Service.

Какво представляват рамките за AI агенти и какво позволяват на разработчиците да правят?

Традиционните рамки за AI могат да ви помогнат да интегрирате AI в приложенията си и да ги подобрите по следните начини:

  • Персонализация: AI може да анализира поведението и предпочитанията на потребителите, за да предоставя персонализирани препоръки, съдържание и преживявания. Пример: Потокови услуги като Netflix използват AI, за да предлагат филми и предавания въз основа на историята на гледане, което повишава ангажираността и удовлетворението на потребителите.
  • Автоматизация и ефективност: AI може да автоматизира повтарящи се задачи, да опрости работните потоци и да подобри оперативната ефективност. Пример: Приложения за обслужване на клиенти използват чатботове, захранвани от AI, за да обработват често срещани запитвания, намалявайки времето за отговор и освобождавайки човешки агенти за по-сложни въпроси.
  • Подобрен потребителски опит: AI може да подобри общото потребителско изживяване, като предоставя интелигентни функции като разпознаване на глас, обработка на естествен език и предиктивен текст. Пример: Виртуални асистенти като Siri и Google Assistant използват AI, за да разбират и отговарят на гласови команди, улеснявайки взаимодействието на потребителите с техните устройства.

Всичко това звучи страхотно, но защо имаме нужда от рамките за AI агенти?

Рамките за AI агенти представляват нещо повече от обикновени AI рамки. Те са проектирани да позволят създаването на интелигентни агенти, които могат да взаимодействат с потребителите, други агенти и средата, за да постигат конкретни цели. Тези агенти могат да проявяват автономно поведение, да вземат решения и да се адаптират към променящите се условия. Нека разгледаме някои ключови възможности, които предоставят рамките за AI агенти:

  • Сътрудничество и координация между агенти: Позволяват създаването на множество AI агенти, които могат да работят заедно, да комуникират и да се координират за решаване на сложни задачи.
  • Автоматизация и управление на задачи: Предоставят механизми за автоматизиране на многостъпкови работни потоци, делегиране на задачи и динамично управление на задачите между агентите.
  • Контекстуално разбиране и адаптация: Оборудват агентите с възможността да разбират контекста, да се адаптират към променяща се среда и да вземат решения въз основа на информация в реално време.

В обобщение, агентите ви позволяват да правите повече, да издигнете автоматизацията на следващо ниво и да създадете по-интелигентни системи, които могат да се адаптират и да се учат от своята среда.

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

Това е бързо променяща се област, но има някои общи неща, присъщи за повечето рамки за AI агенти, които могат да ви помогнат бързо да прототипирате и итерарате — а именно модулни компоненти, инструменти за сътрудничество и обучение в реално време. Нека разгледаме тези елементи:

  • Използвайте модулни компоненти: AI SDK-ове предлагат предварително изградени компоненти като AI и Memory конектори, извикване на функции чрез естествен език или плъгини за код, шаблони за подканване и други.
  • Използвайте инструменти за сътрудничество: Проектирайте агенти с конкретни роли и задачи, което им позволява да тестват и усъвършенстват кооперативни работни потоци.
  • Учете се в реално време: Внедрете обратни връзки, където агентите се учат от взаимодействията и динамично коригират поведението си.

Използвайте модулни компоненти

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

Как екипите могат да използват тези компоненти: Екипите могат бързо да съберат тези компоненти, за да създадат функционален прототип без да започват от нулата, което позволява бързо експериментиране и итерация.

Как работи на практика: Можете да използвате предварително изграден парсър, за да извлечете информация от потребителски вход, модул за памет за съхранение и извличане на данни и генератор на подканване за взаимодействие с потребителите, всичко това без да изграждате тези компоненти от нулата.

Примерен код. Нека разгледаме пример за това как можете да използвате Microsoft Agent Framework с AzureAIProjectAgentProvider, за да накарате модела да отговаря на потребителски вход с извикване на инструменти:

# Пример на Microsoft Agent Framework на Python import asyncio import os from typing import Annotated from agent_framework.azure import AzureAIProjectAgentProvider from azure.identity import AzureCliCredential # Определете примерна функция за инструмент за резервация на пътуване 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) # Примерен изход: Вашият полет до Ню Йорк на 1 януари 2025 г. е успешно резервиран. Приятно пътуване! ✈️🗽 if __name__ == "__main__": asyncio.run(main())

От примера можете да видите как можете да използвате предварително изграден парсър, за да извлечете ключова информация от потребителския вход, като произход, дестинация и дата за заявка за резервация на полет. Този модулен подход ви позволява да се фокусирате върху логиката на високо ниво.

Използвайте инструменти за сътрудничество

Рамки като Microsoft Agent Framework улесняват създаването на множество агенти, които могат да работят заедно.

Как екипите могат да използват това: Екипите могат да проектират агенти с конкретни роли и задачи, което им позволява да тестват и усъвършенстват съвместни работни потоци и да подобрят общата ефективност на системата.

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

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

# Създаване на множество агенти, които работят заедно с помощта на Microsoft Agent Framework import os from agent_framework.azure import AzureAIProjectAgentProvider from azure.identity import AzureCliCredential provider = AzureAIProjectAgentProvider(credential=AzureCliCredential()) # Агент за извличане на данни agent_retrieve = await provider.create_agent( name="dataretrieval", instructions="Retrieve relevant data using available tools.", tools=[retrieve_tool], ) # Агент за анализ на данни agent_analyze = await provider.create_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 и Azure AI Agent Service?

Има много начини да се сравнят тези подходи, но нека разгледаме някои ключови разлики по отношение на техния дизайн, възможности и целеви случаи на употреба:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework предоставя опростен SDK за изграждане на AI агенти, използвайки AzureAIProjectAgentProvider. Той позволява на разработчиците да създават агенти, които използват Azure OpenAI модели с вградена функционалност за извикване на инструменти, управление на разговори и корпоративна сигурност чрез Azure identity.

Сценарии на употреба: Изграждане на производствени AI агенти с използване на инструменти, многостъпкови работни потоци и сценарии за интеграция в предприятия.

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

  • Агенти. Агент се създава чрез AzureAIProjectAgentProvider и се конфигурира с име, инструкции и инструменти. Агентът може:

    • Да обработва потребителски съобщения и да генерира отговори, използвайки Azure OpenAI модели.
    • Да извиква инструменти автоматично въз основа на контекста на разговора.
    • Да поддържа състояние на разговора през множество взаимодействия.

    Ето фрагмент от код, който показва как да създадете агент:

    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)
  • Инструменти. Рамката поддържа дефиниране на инструменти като Python функции, които агентът може да извиква автоматично. Инструментите се регистрират при създаването на агента:

    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], )
  • Координация между множество агенти. Можете да създадете множество агенти с различни специализации и да координирате тяхната работа:

    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}")
  • Интеграция с Azure Identity. Рамката използва AzureCliCredential (или DefaultAzureCredential) за сигурна, безключова автентикация, което елиминира нуждата да управлявате API ключове директно.

Azure AI Agent Service

Azure AI Agent Service е по-скорошно допълнение, представено на Microsoft Ignite 2024. Тя позволява разработката и внедряването на AI агенти с по-гъвкави модели, като например директно извикване на отворени LLM модели като Llama 3, Mistral и Cohere.

Azure AI Agent Service предоставя по-силни корпоративни механизми за сигурност и методи за съхранение на данни, което я прави подходяща за корпоративни приложения.

Тя работи веднага с Microsoft Agent Framework за изграждане и внедряване на агенти.

Тази услуга в момента е в Public Preview и поддържа Python и C# за изграждане на агенти.

Използвайки Python SDK на Azure AI Agent Service, можем да създадем агент с дефиниран от потребителя инструмент:

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-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 има следните основни концепции:

  • Агент. Azure AI Agent Service се интегрира с Microsoft Foundry. В рамките на AI Foundry, AI агентът действа като „умен“ микросервис, който може да се използва за отговаряне на въпроси (RAG), изпълнение на действия или пълна автоматизация на работни потоци. Това постига чрез комбиниране на мощта на генеративните AI модели с инструменти, които му позволяват да достъпва и взаимодейства с реални източници на данни. Ето пример за агент:

    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, )

    В този пример агент е създаден с модела gpt-4o-mini, име my-agent и инструкции You are helpful agent. Агентът е оборудван с инструменти и ресурси за изпълнение на задачи свързани с интерпретация на код.

  • Тема и съобщения. Темата (thread) е друга важна концепция. Тя представлява разговор или взаимодействие между агент и потребител. Темите могат да се използват за проследяване на напредъка на разговора, съхраняване на контекстна информация и управление на състоянието на взаимодействието. Ето пример за тема:

    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}")

    В предишния код е създадена тема. След това се изпраща съобщение към темата. Чрез извикване на create_and_process_run, на агента се дава задача да извърши работа по темата. Накрая, съобщенията се извличат и записват, за да се види отговорът на агента. Съобщенията показват напредъка на разговора между потребителя и агента. Също така е важно да се разбере, че съобщенията могат да бъдат от различни типове като текст, изображение или файл; тоест работата на агента може да е довела например до генериране на изображение или текстов отговор. Като разработчик, можете след това да използвате тази информация за допълнителна обработка на отговора или за представянето му на потребителя.

  • Интегрира се с Microsoft Agent Framework. Azure AI Agent Service работи безпроблемно с Microsoft Agent Framework, което означава, че можете да изграждате агенти с AzureAIProjectAgentProvider и да ги внедрявате чрез Agent Service за производствени сценарии.

Сценарии на употреба: Azure AI Agent Service е проектирана за корпоративни приложения, които изискват сигурно, мащабируемо и гъвкаво внедряване на AI агенти.

Каква е разликата между тези подходи?

Изглежда, че има припокриване, но има някои ключови разлики по отношение на техния дизайн, възможности и целеви случаи на употреба:

  • Microsoft Agent Framework (MAF): Е готов за производство SDK за изграждане на AI агенти. Предоставя опростен API за създаване на агенти с извикване на инструменти, управление на разговори и интеграция с Azure identity.
  • Azure AI Agent Service: Е платформа и услуга за внедряване в Azure Foundry за агенти. Предлага вградена свързаност към услуги като Azure OpenAI, Azure AI Search, Bing Search и изпълнение на код.

Все още не сте сигурни кой да изберете?

Сценарии на употреба

Нека ви помогнем, като разгледаме някои общи сценарии:

Q: Изграждам производствени AI агент приложения и искам да започна бързо

A: Microsoft Agent Framework е отличен избор. Той предоставя прост, Python-ориентиран API чрез AzureAIProjectAgentProvider, който ви позволява да дефинирате агенти с инструменти и инструкции само с няколко реда код.

Q: Имам нужда от корпоративно внедряване със свързаност към Azure като Search и изпълнение на код

A: Azure AI Agent Service е най-подходящият избор. Това е платформа като услуга, която предоставя вградени възможности за множество модели, Azure AI Search, Bing Search и Azure Functions. Лесно е да изградите вашите агенти в Foundry портала и да ги внедрите в мащаб.

Q: Все още съм объркан, просто ми дайте един вариант

A: Започнете с Microsoft Agent Framework за изграждане на вашите агенти, а след това използвайте Azure AI Agent Service, когато трябва да ги внедрите и мащабирате в производство. Този подход ви позволява бързо да итерирате върху логиката на агента, като имате ясен път към корпоративно внедряване.

Нека обобщим ключовите разлики в таблица:

FrameworkFocusCore ConceptsUse Cases
Microsoft Agent FrameworkОптимизиран SDK за агенти с извикване на инструментиАгенти, Инструменти, Azure IdentityСъздаване на AI агенти, използване на инструменти, мултистъпкови работни потоци
Azure AI Agent ServiceГъвкави модели, корпоративна сигурност, генериране на код, извикване на инструментиМодулност, Сътрудничество, Оркестрация на процесиСигурно, мащабируемо и гъвкаво внедряване на AI агенти

Мога ли да интегрирам директно вече съществуващите си инструменти от екосистемата Azure, или имам нужда от самостоятелни решения?

Отговорът е да — можете да интегрирате вашите съществуващи инструменти от екосистемата Azure директно с Azure AI Agent Service, особено тъй като е създаден да работи безпроблемно с други услуги на Azure. Например можете да интегрирате Bing, Azure AI Search и Azure Functions. Има и дълбока интеграция с Microsoft Foundry.

Microsoft Agent Framework също се интегрира с услугите на Azure чрез AzureAIProjectAgentProvider и Azure identity, което ви позволява да извиквате услуги на Azure директно от инструментите на вашия агент.

Примери за код

Имате ли още въпроси относно фреймуърците за AI агенти?

Присъединете се към Microsoft Foundry Discord, за да се срещнете с други учащи се, да посетите консултативни часове и да получите отговори на въпросите си за AI агенти.

Препратки

Предишен урок

Въведение в AI агентите и случаи на използване

Следващ урок

Разбиране на агентските дизайн шаблони


Отказ от отговорност: Този документ е преведен с помощта на AI преводаческата услуга Co-op Translator (https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля имайте предвид, че автоматичните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод, извършен от човешки преводач. Не носим отговорност за никакви недоразумения или погрешни тълкувания, произтичащи от използването на този превод.