Общие сведения о генеривных приложениях ИИ в Databricks
Мозаика ИИ — это платформа, предназначенная для построения , оценки , развертывания и мониторинга генеративных приложений ИИ (генеративных приложений ИИ). Он интегрируется с популярными фреймворками с открытым исходным кодом, добавляя управление на корпоративном уровне, наблюдение и операционные инструменты, коллективно известные как LLMOps.
Поддержка открытого исходного кода в Mosaic AI
Мозаика ИИ дополняет, но не заменяет существующие библиотеки ИИ с открытым исходным кодом и пакеты SDK, такие как:
- OpenAI
- LangChain
- LangGraph
- AutoGen
- LlamaIndex
- CrewAI
- Семантическое ядро
- DSPy
Предоставляя встроенные журналы, мониторинг, надежную инфраструктуру и безопасные варианты развертывания, Mosaic AI гарантирует, что эти платформы можно использовать для создания высококачественных приложений ИИ в масштабе для предприятий. Важно, независимо от того, создаете ли вы приложение с генерирующим ИИ на Databricks или где-либо еще, вы все равно можете использовать возможности оценки и мониторинга Mosaic AI. Для команд, которые предпочитают более детализированный, прямой контроль, Мозаика ИИ также поддерживает пользовательские приложения ИИ поколения, созданные с нуля, только с помощью Python — не требуется платформа.
Что такое приложения ИИ поколения?
Приложение ИИ поколения — это приложение, использующее модели генерированного ИИ (например, LLMs, модели создания изображений и модели преобразования текста в речь) для создания новых выходных данных, автоматизации сложных задач или участия в интеллектуальном взаимодействии на основе ввода пользователем. В то время как приложения ИИ поколения могут использовать различные модели, в этом руководстве основное внимание уделяется приложениям, управляемым LLMs.
Хотя приложения ИИ на основе LLM-поколения могут создаваться различными способами, они обычно попадают под один из двух архитектурных шаблонов:
Тип 1. Монолитный LLM + запрос | Тип 2 (рекомендуется): система агента | |
---|---|---|
Что такое? | Один LLM с тщательно разработанными запросами. | Несколько взаимодействующих компонентов (вызовы LLM, ретриверы, вызовы API) организованы вместе , начиная от простых цепочек до сложных многоагентных систем. |
пример вариантов использования | классификация контента: использование LLM для категоризации запросов в службу поддержки клиентов по предопределённым темам. | Интеллектуальный помощник: объединение процессов извлечения документов, нескольких вызовов LLM и внешних API, используемых для исследования, анализа и составления комплексных отчетов. |
лучше всего подходит для | Простые, ориентированные задачи, быстрые прототипы и четко определенные запросы. | Сложные рабочие процессы, задачи, требующие различных навыков, и задачи, требующие учета предыдущих шагов. |
ключевые преимущества | Упрощенная реализация, более быстрая разработка и более низкая операционная сложность. | Более надежный и поддерживаемый, лучший контроль и гибкость, легче тестировать и проверять, а также оптимизация на уровне компонентов. |
Ограничения | Менее гибкий, трудный для оптимизации и ограниченной функциональности. | Более сложная реализация, более начальная настройка и нуждается в координации компонентов. |
Для большинства корпоративных вариантов использования Databricks рекомендует агентную систему . Разбив системы на небольшие, хорошо определенные компоненты, разработчики могут лучше управлять сложностью, сохраняя высокий уровень контроля и соответствия требованиям, необходимым для корпоративных приложений.
Мозаичный ИИ предоставляет средства и возможности, которые работают как для монолитных систем, так и для систем агентов, а остальная часть этой документации охватывает создание обоих типов приложений ИИ поколения.
Чтобы узнать больше о теории, лежащей в основе систем агентов, и монолитных моделей, просмотреть записи блога из основателей Databricks:
- системы агентов ИИ: модульное проектирование для надежных корпоративных приложений ИИ
- Переход от моделей к составным системам ИИ
Что такое система агента?
Система агента — это система на основе ИИ , которая может автономно воспринимать, решать и действовать в среде для достижения целей. В отличие от автономного LLM, который создает только выходные данные при появлении запроса, система агента обладает степенью агентства. Современные системы агентов на основе LLM используют LLM в качестве "мозга" для интерпретации контекста, причины дальнейших действий и выдачи таких действий, как вызовы API, механизмы извлечения и вызовы инструментов для выполнения задач.
Система агента — это просто система с LLM в его основе. Эта система:
- Получает запросы пользователей или сообщения от другого агента.
- Соображения о том, как действовать: какие данные следует получить, какую логику применить, какие инструменты использовать, или запрашивать дополнительные данные от пользователя.
- Выполняет план и, возможно, вызывает несколько инструментов или передает полномочия подчиненным агентам.
- Возвращает ответ или запрашивает у пользователя дополнительное уточнение.
Путем объединения общего интеллекта (предварительно обученные возможности LLM) и интеллекта данных (специализированные знания и API, относящиеся к вашему бизнесу), системы агентов позволяют использовать высокоэффективные корпоративные варианты использования, такие как расширенные потоки обслуживания клиентов, боты, насыщенные данными, и многоагентная оркестрация для сложных операционных задач.
Что может сделать система агента?
Система агента может:
- Динамически планировать действия
- Перенос состояния от одного шага к следующему
- Настройте свою стратегию на основе новой информации, без непрерывного вмешательства человека
Если автономный LLM может выводить маршрут поездки по запросу, то агентная система может получать информацию о клиентах и автономно бронировать рейсы, используя инструменты и API. Сочетая "общий интеллект" из LLM с использованием "интеллектуального анализа данных" (данные или API для конкретного домена), агентные системы могут решать сложные случаи использования в предприятиях, которые одной статической модели было бы сложно решить.
Агентность — это континуум; чем больше свободы вы предоставляете моделям для управления поведением системы, тем более агентным становится приложение. На практике большинство производственных систем тщательно ограничивают автономию агента, чтобы обеспечить соответствие и прогнозируемость, например, требуя одобрения человека для рискованных действий.
Общая аналитика и аналитика данных
- общий интеллект: относится к тому, что LLM по сути знает от широкого предварительного обучения на разнообразном тексте. Это полезно для свободного владения языком и общего рассуждения.
- аналитика данных: относится к данным и API, специфичным для вашей организации и ее тематической области. Это может включать записи клиентов, сведения о продукте, базы знаний или документы, которые отражают уникальную бизнес-среду.
Системы агентов смешивают эти две перспективы: они начинаются с широкого, универсального знания LLM, а затем приносят данные в режиме реального времени или конкретного домена, чтобы ответить на подробные вопросы или выполнить специализированные действия.
Пример системы агента
Рассмотрим сценарий центра обработки вызовов между клиентом и агентом ИИ поколения:
Клиент отправляет запрос: "Вы можете помочь мне вернуть последний заказ?"
- Причина и план: Учитывая намерение запроса, агент "планирует": "Найти недавний заказ пользователя и проверить нашу политику возврата".
- Поиск сведений (аналитика данных): агент запрашивает базу данных заказов, чтобы получить соответствующий заказ и ссылается на политический документ.
-
причина: агент проверяет, соответствует ли этот порядок в окне возврата.
- Необязательное участие человека: агент проверяет дополнительное правило: если элемент является определенной категорией или за пределами обычного окна возврата, эскалировать на человека.
- действие: агент активирует процесс возврата и создает метку доставки.
- Причина: агент создает ответ для клиента.
Агент ИИ отвечает клиенту: "Готово! Вот ваша этикетка доставки..."
В контексте работы в колл-центре человека , эти шаги выполняются автоматически. В контексте системы агента LLM "рассуждает", в то время как система вызывает специализированные инструменты или источники данных для наполнения деталями.
Уровни сложности: от LLM до систем агентов
При создании любого приложения на базе LLM начните с простого. Решение, которое продвигает вас на 80% пути, часто включает в себя выполнение одной задачи с помощью LLM, усовершенствованного извлечением данных или тщательно разработанными запросами. Предпринимайте более сложные агентные действия, такие как динамическое использование инструментов или координация с несколькими агентами, когда они действительно необходимы для повышения гибкости или принятия решений, основанных на моделях. Детерминированные цепочки предлагают прогнозируемые потоки на основе правил для хорошо определенных задач, а более агентические подходы стоят за дополнительную сложность и потенциальную задержку.
При создании систем искусственного интеллекта может возникнуть несколько уровней сложности:
-
LLM (LLM + Промт)
- Автономный LLM, реагирующий на текстовые запросы с помощью предварительно обученных знаний.
- Хорошо подходит для простых или универсальных запросов, но часто не связан с реальными бизнес-данными.
-
жестко запрограммированную систему агента («Chain»)
- Вы координируете с помощью детерминированных, предварительно определенных шагов (например, всегда извлекать из векторного хранилища, всегда объединять результат с вопросом пользователя, а затем вызвать LLM).
- Логика фиксирована, и LLM не решает, с какой последовательностью вызывать инструменты.
-
Система агента вызова инструментов
- LLM автоматически выбирает и вызывает "инструменты" во время выполнения.
- Этот подход поддерживает динамические, контекстно-осведомленные решения о вызове каких инструментов, например, базы данных CRM или API для публикации в Slack.
-
Многоагентные системы
- Несколько специализированных агентов, каждая из которых имеет собственную функцию или домен.
- Координатор (иногда руководитель ИИ , иногда на основе правил) решает, какой агент будет вызываться на каждом шаге.
- Агенты могут передавать задачи друг другу, сохраняя общий поток беседы.
Платформа агента ИИ мозаики не зависит от этих шаблонов, что упрощает запуск и развитие на более высоком уровне автоматизации и автономии по мере роста требований приложения.
Инструменты в агентной системе
В контексте системы агента, инструменты являются функциями единичного взаимодействия, которые LLM может вызывать для выполнения четко определенной задачи. Модель искусственного интеллекта обычно создает параметры для каждого вызова средства, а средство обеспечивает простое взаимодействие с входными выходными данными. На стороне инструмента нет памяти для многоходовых операций.
Ниже перечислены некоторые распространенные категории инструментов:
- Средства , которые извлекают или анализируют данные
- средства извлечения вектора: запрашивать векторный индекс, чтобы найти наиболее релевантные фрагменты текста.
- Структурированные средства извлечения: выполнять запросы к таблицам Delta или использовать API для получения структурированной информации.
- средство поиска в Интернете: поиск в интернете или во внутренней базе данных.
- классические модели машинного обучения: Средства, которые вызывают модели машинного обучения для выполнения прогнозов классификации или регрессии, например модели scikit-learn или XGBoost.
- генеративные ИИ модели: инструменты, осуществляющие специализированную генерацию, например создание кода или изображений, и предоставляющие результаты.
- средства , изменяющие состояние внешней системы
- Инструмент для вызова API : CRM-интерфейсы, внутренние службы или другие сторонние интеграции, например, обновление состояния доставки.
- средство выполнения кода : выполняет предоставленный пользователем код (или в некоторых случаях, созданный LLM) в песочнице.
- интеграция со Slack или электронной почтой: размещает сообщение или отправляет уведомление.
-
Средства, выполняющие логику или определенную задачу
- средство исполнителя кода : выполняет предоставленный пользователем код или код LLM в песочнице, например скрипты Python.
Чтобы узнать больше об инструментах агента ИИ Мозаики, см. раздел инструменты агента ИИ.
Ключевые характеристики инструментов
Инструменты в агентской системе
- Выполните одну хорошо определенную операцию.
- Не сохраняйте текущий контекст за пределами этого вызова.
- Разрешите системе агента доступ к внешним данным или службам, к которым LLM не может напрямую получить доступ.
Обработка ошибок и безопасность инструментов
Так как каждый вызов средства является внешней операцией, например вызовОМ API, система должна корректно обрабатывать сбои, такие как время ожидания, обработка ошибок неправильно сформированных ответов или недопустимые входные данные. В рабочей среде можно ограничить количество разрешенных вызовов инструментов, получить резервную реакцию, если все вызовы инструментов завершаются сбоем, и применить меры защиты, чтобы агентная система не пыталась неоднократно выполнить одно и то же действие, приводящее к сбоям.