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 агенти с по-гъвкави модели, като директно извикване на отворени LLM модели като Llama 3, Mistral и Cohere.

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

Работи веднага с Microsoft Agent Framework за създаване и разгръщане на агенти.

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

Използвайки Python SDK на Microsoft Foundry 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-5-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, за да се срещнеш с други учащи, да участваш в офис часове и да получиш отговори на въпросите си относно AI агентите.

Референции

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

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

Следващ урок

Разбиране на агентни дизайни модели


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