Добавление инструментов к агенту ИИ Azure

Завершено

В Microsoft Agent Framework средства позволяют агенту ИИ использовать существующие API и службы для выполнения задач, которые не могут выполняться самостоятельно. Средства работают с помощью вызова функций, позволяя ИИ автоматически запрашивать и использовать определенные функции. Платформа направляет запрос в соответствующую функцию в базе кода и возвращает результаты обратно в большую языковую модель (LLM), чтобы он смог создать окончательный ответ.

Чтобы включить автоматическое вызов функции, средства должны предоставить подробные сведения, описывающие работу. Входные данные, выходные данные и назначение функции должны быть описаны таким образом, чтобы ИИ понимал, в противном случае ИИ не может правильно вызывать функцию.

Как использовать инструменты вместе с Microsoft Foundry Agent

Microsoft Agent Framework поддерживает как функциональные инструменты, так и встроенные средства, которые готовы к использованию сразу.

Встроенные средства

Microsoft Foundry Agent поставляется с несколькими встроенными средствами, которые можно использовать немедленно:

  • Интерпретатор кода — выполняет код Python для вычислений, анализа данных и т. д.
  • Поиск файлов — выполняет поиск по документам и анализирует их
  • Поиск в Интернете — извлекает информацию из Интернета

Эти средства доступны автоматически и не требуют дополнительной настройки.

Средства для настраиваемой функции

При создании пользовательских средств для Microsoft Foundry Agent необходимо понять несколько ключевых понятий:

  1. Использование декоратора инструментов

    Создайте пользовательскую функцию, определив функцию Python и декорировав ее декоратором @tool из Microsoft Agent Framework. Этот декоратор регистрирует вашу функцию как инструмент для вызова ИИ. Декоратор @tool включает параметры для указания имени и описания инструмента, а также approval_mode для определения, требуется ли одобрение вызовов инструментов.

  2. Определение и заметки функций

    Создайте средство, определив обычную функцию Python с соответствующими заметками типа. Используйте Annotated и Field из Pydantic для предоставления подробных описаний, которые помогают ИИ понять назначение функции и как использовать его параметры. Чем больше описательных заметок, тем лучше ИИ может понять, когда и как вызывать функцию.

  3. Добавление инструментов к агенту

    Передайте пользовательские функции в ChatAgent во время создания с помощью параметра tools. Можно добавить одну функцию или список нескольких функций. Платформа автоматически регистрирует эти функции и делает их доступными для вызова ИИ.

  4. Вызов инструмента через беседу

    После регистрации ваших инструментов агентом вам не нужно вызывать их вручную. Вместо этого задайте вопросы агента или предоставьте ему задачи, которые, естественно, требуют функциональных возможностей вашего средства. ИИ автоматически определяет, когда следует вызывать инструменты на основе контекста беседы и предоставленных вами описаний инструментов.

  5. Несколько инструментов и оркестрация

    Вы можете добавить несколько инструментов в один агент, а искусственный интеллект автоматически выбирает средство, которое будет использоваться на основе запроса пользователя. Фреймворк управляет выполнением, вызывая соответствующие функции и сочетая их результаты, чтобы предоставить комплексный ответ.

Рекомендации по разработке инструментов

  • Четкие описания: написание четких, подробных описаний функций и параметров, которые помогают ИИ понять их назначение.
  • Заметки типа: используйте правильные указания типа Python, чтобы указать ожидаемые типы входных и выходных данных.
  • Обработка ошибок. Реализуйте соответствующую обработку ошибок в функциях средства для корректной обработки непредвиденных входных данных
  • Возвращайте значимые данные: убедитесь, что функции возвращают данные, которые ИИ может эффективно использовать в своих ответах.
  • Следите за функциями. Разработка каждого инструмента для обработки конкретной задачи, а не попытка выполнить слишком много вещей в одной функции

Следуя этим понятиям, вы можете расширить microsoft Foundry Agent как встроенными, так и пользовательскими средствами, позволяя ему взаимодействовать с API и выполнять сложные задачи. Такой подход делает ИИ более мощным и способным эффективно обрабатывать реальные приложения.