Более десяти лет BigQuery помогает устанавливать стандарты структурированной агрегации данных: вычисление финансовых сумм, подсчет активных пользователей и расчет исторических средних значений в петабайтном масштабе за считанные секунды. Но по мере того как современные предприятия наводняются неструктурированными данными — логами приложений, стенограммами службы поддержки, изображениями продуктов и диагностическими отчетами, — возникает критический пробел.
Исторически сложилось так, что реляционные SQL-движки не обладали встроенной способностью агрегировать, синтезировать и извлекать общие семантические темы из миллионов строк текста и мультимодальных данных. Хотя BigQuery недавно представила мощные функции искусственного интеллекта на уровне строк (такие как AI.GENERATE и AI.CLASSIFY), комплексный анализ массивных наборов данных представляет собой уникальную архитектурную проблему: окно контекста большой языковой модели (LLM).
Даже с использованием передовых базовых моделей, таких как Gemini, вы не можете передать миллионы строк в один промпт без серьезного усечения или сбоев выполнения. Традиционно для решения этой задачи инженерам по данным приходилось создавать сложные внешние конвейеры map-reduce, управлять задержками при ограничении частоты запросов и рекурсивно объединять фрагментированные сводки.
Сегодня мы рады подробно рассказать об AI.AGG (которая в настоящее время находится на стадии предварительного просмотра) — полностью управляемой многоуровневой функции семантической агрегации, встроенной непосредственно в BigQuery GoogleSQL. Концептуализируя семантическую агрегацию как проблему распределенного map-reduce, AI.AGG позволяет командам по работе с данными выполнять инструкции на естественном языке для миллионов строк данных с помощью одного SQL-запроса.
Вот краткий обзором того, как это работает, трансформационных корпоративных вариантов использования и лучших практик развертывания в рабочей среде.
Превращение петабайтов данных в семантическую аналитику прямо в BigQuery.
Многоуровневая пакетная архитектура
AI.AGG абстрагирует огромную инженерную сложность разбиения на блоки и параллельного выполнения. Когда вы выполняете запрос AI.AGG, движок BigQuery автоматически организует последовательность прямо внутри базы данных:
- Проверка на уровне строк: движок помогает убедиться, что ни одна строка не превышает максимальное окно контекста (полезные данные размером >10 МиБ отбрасываются или возвращают ошибку).
Проверка на уровне строк: движок помогает убедиться, что ни одна строка не превышает максимальное окно контекста (полезные данные размером >10 МиБ отбрасываются или возвращают ошибку).
- Пакетная обработка с безопасным контекстом: движок динамически группирует входные строки в более мелкие пакеты, которые надежно помещаются в лимиты токенов выбранной вами конечной точки Gemini.
Пакетная обработка с безопасным контекстом: движок динамически группирует входные строки в более мелкие пакеты, которые надежно помещаются в лимиты токенов выбранной вами конечной точки Gemini.
- Параллельный инференс: ваш SQL-промпт на естественном языке применяется к каждому пакету параллельно, создавая промежуточные семантические сводки через Vertex AI.
Параллельный инференс: ваш SQL-промпт на естественном языке применяется к каждому пакету параллельно, создавая промежуточные семантические сводки через Vertex AI.
- Рекурсивный синтез: наконец, система объединяет эти промежуточные результаты в пакеты и возвращает их в LLM с той же самой инструкцией. Это уменьшение повторяется рекурсивно до тех пор, пока для каждого предложения SQL GROUP BY не будет создана одна финальная агрегированная строка.
Рекурсивный синтез: наконец, система объединяет эти промежуточные результаты в пакеты и возвращает их в LLM с той же самой инструкцией. Это уменьшение повторяется рекурсивно до тех пор, пока для каждого предложения SQL GROUP BY не будет создана одна финальная агрегированная строка.
Поскольку AI.AGG требует глубокого рассуждения для синтеза концепций по разрозненным пакетам, она полностью полагается на полноразмерные LLM на каждом этапе своего конвейера, что отличает ее от функций на уровне строк, таких как AI.CLASSIFY, которые могут использовать дистиллированные прокси-модели для CPU.
Создано для мультимодальных предприятий
AI.AGG изначально поддерживает как текстовые, так и мультимодальные входные данные. Используя объектные таблицы BigQuery (Object Tables) и функцию OBJ.GET_ACCESS_URL, аналитические группы могут агрегировать визуальные данные по тысячам изображений, хранящихся непосредственно в Cloud Storage, без необходимости перемещения данных или перекодирования.
Полезный совет по инженерии данных: правило исключительной обработки NULL
При оценке нескольких колонок пользователи часто передают STRUCT в функцию. Однако если хотя бы одно поле в этой составной структуре принимает значение NULL, вся строка обрабатывается как NULL и молча отбрасывается. Всегда явно обертывайте поля, допускающие значение NULL, с помощью IFNULL() (например, IFNULL(description, 'No data provided')), чтобы гарантировать безопасное попадание ваших данных в конвейер.
Трансформационные корпоративные варианты использования
Истинная аналитическая мощь AI.AGG проявляется в сочетании со стандартными операциями SQL GROUP BY.
1. Диагностический анализ высоконагруженных системных логов
Системные логи, генерируемые глобально распределенными микросервисами, часто скрывают тонкие деградации (такие как нехватка памяти или системное смещение часов), которые никогда не вызывают явных фатальных ошибок. Используя AI.AGG, команды DevOps могут группировать миллионы логов по компонентам системы и генерировать целевые, читаемые человеком диагностические сводки.
- Совет по составлению промптов: поручите модели явно описать «нормальную работу» компонента перед поиском аномалий. Это помогает подавить склонность LLM галлюцинировать ошибки на совершенно здоровых логах.
Совет по составлению промптов: поручите модели явно описать «нормальную работу» компонента перед поиском аномалий. Это помогает подавить склонность LLM галлюцинировать ошибки на совершенно здоровых логах.
2. Создание «агентного облака данных»
AI.AGG — это не просто аналитический инструмент отчетности, это динамический движок оркестрации. Представьте себе получение огромного хранилища устаревших тикетов поддержки без четкой категоризации. Вы можете развернуть AI.AGG для чтения неструктурированного текста, синтеза окончательного списка категорий и вывода их в виде строгого массива JSON.
Распаковывая этот массив с помощью JSON_VALUE_ARRAY и передавая эти динамические метки непосредственно в классификаторы на уровне строк, такие как AI.CLASSIFY, вы можете оркестрировать сквозной автономный конвейер разметки данных прямо в SQL, снижая потребность во внешних скриптах на Python.
Промпт-инжиниринг — это инженерия данных
При интеграции генеративных моделей в высокодетерминированные SQL-конвейеры стандартные разговорные промпты часто терпят неудачу. Написание промптов для программных выводов SQL — это строгая инженерная дисциплина:
- Явные контракты вывода: относитесь к промпту как к контракту API. Добавляйте команды вроде: «Верните ровно один действительный JSON-массив строк. Не включайте блоки кода в формате markdown или разговорный текст».
Явные контракты вывода: относитесь к промпту как к контракту API. Добавляйте команды вроде: «Верните ровно один действительный JSON-массив строк. Не включайте блоки кода в формате markdown или разговорный текст».
- Контекстные разделители: используйте конкатенацию строк с явными метками (например, '- Description: '), чтобы зафиксировать LLM и предотвратить смешение полей в плотных пакетах.
Контекстные разделители: используйте конкатенацию строк с явными метками (например, '- Description: '), чтобы зафиксировать LLM и предотвратить смешение полей в плотных пакетах.
- Проектирование состояний сбоя: явно укажите модели возвращать строго пустые значения (null) для отсутствующей информации вместо догадок, предотвращая появление галлюцинаций в схеме на последующих этапах.
Проектирование состояний сбоя: явно укажите модели возвращать строго пустые значения (null) для отсутствующей информации вместо догадок, предотвращая появление галлюцинаций в схеме на последующих этапах.
- Привязка с помощью примеров (Few-shot anchoring): предоставьте буквальный пример ожидаемой структуры прямо в промпте, чтобы существенно зафиксировать механизм внимания модели.
Привязка с помощью примеров (Few-shot anchoring): предоставьте буквальный пример ожидаемой структуры прямо в промпте, чтобы существенно зафиксировать механизм внимания модели.
Управление, контроль затрат и защитные механизмы
Перевод семантических рабочих нагрузок в продакшн требует операционного контроля. Из-за архитектуры рекурсивной пакетной обработки общее количество токенов, отправляемых в Gemini, будет превышать количество токенов исходных данных. Чтобы снизить расходы, обязательно используйте строгую предварительную фильтрацию с помощью WHERE и LIMIT.
Кроме того, для рабочих процессов, сопоставляющих данные из массивных статических наборов, BigQuery поддерживает функцию Gemini Context Caching, которая позволяет снизить затраты на входные токены и задержку выполнения. Используйте утилиту AI.COUNT_TOKENS для оценки стоимости запроса перед его выполнением.
Администраторы могут работать с уверенностью, зная, что функция AI.AGG работает строго в рамках системы управления BigQuery и поддерживает VPC Service Controls (VPC-SC) для предотвращения утечки данных. Кроме того, в случае возникновения временной ошибки в процессе пакетной обработки функция корректно обрабатывает сбой — пропуская отклоненные строки вместо того, чтобы вызывать сбой всего запроса.
Защитные механизмы превью, которые следует учитывать:
- Итоговая выходная строка для каждой группы SQL строго ограничена 10 000 токенов на группу. Запрашивайте у модели краткий результат.
Итоговая выходная строка для каждой группы SQL строго ограничена 10 000 токенов на группу. Запрашивайте у модели краткий результат.
- Отдельные строки полезной нагрузки не должны превышать 10 МиБ.
Отдельные строки полезной нагрузки не должны превышать 10 МиБ.
- При обработке мультимодальных массивов ограничивайте количество изображений менее чем 10 изображениями на строку, чтобы избежать их тихого пропуска.
При обработке мультимодальных массивов ограничивайте количество изображений менее чем 10 изображениями на строку, чтобы избежать их тихого пропуска.
Для оптимальной стабильности мы рекомендуем обрабатывать не более 20 миллионов строк и выводить максимум 1000 различных групп SQL за один запрос.
Применение AI.AGG на практике
Чтобы помочь вам начать работу, вот примеры использования AI.AGG для синтеза аналитических выводов наряду с традиционными метриками SQL.
Обнаружение тем на макроуровне
Обобщите то, о чем говорят конкретные ведущие авторы, превратив тысячи их комментариев в лаконичный рассказ
Автономная диагностическая отчетность для DevOps (анализ логов)
Вместо подсчета стандартных кодов ошибок HTTP используйте AI.AGG для чтения тысяч необработанных трассировок стека и сообщений журналов, группируя их по имени микросервиса для поиска качественной первопричины системных сбоев.
Следующая эра хранилищ данных
С помощью AI.AGG Google Cloud демократизирует доступ к семантическому анализу в петабайтном масштабе. Объединяя детерминированную мощь группировки реляционного движка BigQuery с возможностями макроскопического рассуждения Vertex AI Gemini, мы превращаем корпоративное хранилище данных из пассивного хранилища исторических метрик в активную семантическую среду выполнения, способную обеспечить глубокий и целостный интеллект.
Готовы раскрыть семантическую ценность ваших корпоративных данных? Перейдите в консоль Google Cloud, изучите документацию по BigQuery и запустите свою первую семантическую агрегацию уже сегодня.
- Аналитика данных
- BigQuery











