Инструменты агента искусственного интеллекта
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
В этой статье представлен обзор разработки инструментов агента ИИ с использованием фреймворка Mosaic AI Agent.
Средства агента искусственного интеллекта позволяют агентам выполнять задачи, выходящие за рамки создания языка, такие как получение структурированных или неструктурированных данных и выполнение пользовательского кода.
Общие сведения об агентах ИИ см. в статье Что такое составные системы ИИ и агенты ИИ?.
инструменты функций каталога Unity и инструменты для работы с кодом агента
Чтобы создать инструмент с помощью Платформы агента ИИ Мозаики, можно использовать любое сочетание следующих методов:
Метод | Описание |
---|---|
функции каталога Unity | — Определение и управление в каталоге Unity со встроенными функциями безопасности и соответствия требованиям — обеспечивает упрощение обнаружения, управления и повторного использования — Идеально подходит для применения преобразований и агрегатов в больших наборах данных |
Инструменты для работы с кодом агента | — Определяется в коде агента ИИ — Полезно для вызова REST API, использования произвольного кода или выполнения средств с низкой задержкой. — не хватает встроенного управления и возможности обнаружения функций |
Оба метода совместимы с пользовательскими агентами Python или библиотеками разработки агентов, такими как LangGraph.
Создание средств агента ИИ
Узнайте, как создавать средства агента ИИ, позволяющие агентам выполнять пользовательский код Python. См. создание пользовательских средств агента ИИ с помощью функций каталога Unity.
Примеры инструментов агента
Примеры средств агента см. в следующих статьях:
- структурированные средства извлечения данных позволяют агенту запрашивать структурированные источники данных, такие как таблицы SQL.
- Инструменты извлечения неструктурированных данных позволяют вашему агенту запрашивать неструктурированные источники данных, такие как текстовый корпус, для выполнения обогащённой генерации.
- Инструменты для внешнего подключения подключают инструменты агента к внешним службам и API.
Добавьте средства Unity Catalog в агентов
В отличие от средств кода агента, определенных в коде агента, средства каталога Unity должны быть явно добавлены в агенты, чтобы сделать их доступными для использования.
Databricks рекомендует использовать UCFunctionToolkit
для интеграции средств каталога Unity с платформами разработки агентов и пакетами SDK. См. создание пользовательских средств агента ИИ с помощью функций каталога Unity.
Вы также можете использовать песочницу ИИ для быстрого добавления инструментов Unity Catalog в агентов для разработки прототипов поведения. См. прототипы агентов по вызову инструментов в ИИ-площадке.
Улучшение вызова инструментов с помощью четкой документации
Хорошо документированные средства помогают агентам ИИ понять, когда и как эффективно использовать инструменты. Следуйте приведенным ниже рекомендациям при документирование параметров и возвращаемых значений средства.
- Для функций каталога Unity используйте
COMMENT
для описания функций и параметров средства. - Четко определите ожидаемые входные и выходные данные.
- Предоставление значимых описаний для повышения удобства использования.
Пример. Документация по эффективному инструменту
В следующем примере показаны эффективные строки COMMENT
для средства функции каталога Unity, который запрашивает структурированную таблицу.
CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
customer_name STRING COMMENT 'Name of the customer whose info to look up.'
)
RETURNS STRING
COMMENT 'Returns metadata about a specific customer including their email and ID.'
RETURN SELECT CONCAT(
'Customer ID: ', customer_id, ', ',
'Customer Email: ', customer_email
)
FROM main.default.customer_data
WHERE customer_name = customer_name
LIMIT 1;
Пример: документация по неэффективным инструментам
В следующем примере отсутствуют важные сведения, что затрудняет использование средства агентом ИИ.
CREATE OR REPLACE FUNCTION main.default.lookup_customer_info(
customer_name STRING COMMENT 'Name of the customer.'
)
RETURNS STRING
COMMENT 'Returns info about a customer.'
RETURN SELECT CONCAT(
'Customer ID: ', customer_id, ', ',
'Customer Email: ', customer_email
)
FROM main.default.customer_data
WHERE customer_name = customer_name
LIMIT 1;