Skip to main content
Начиная с ClickHouse 25.7, в ClickHouse Client и clickhouse-local доступна функциональность на базе ИИ, которая преобразует описания на естественном языке в SQL-запросы. Эта возможность позволяет описывать требования к данным обычным текстом, после чего система преобразует их в соответствующие SQL-операторы. Эта возможность особенно полезна, если вы не знакомы со сложным синтаксисом SQL или вам нужно быстро создавать запросы для исследовательского анализа данных. Функция работает со стандартными таблицами ClickHouse и поддерживает распространённые шаблоны запросов, включая фильтрацию, агрегацию и JOIN. Для этого используются следующие встроенные инструменты/функции:
  • list_databases - Вывести список всех доступных баз данных в экземпляре ClickHouse
  • list_tables_in_database - Вывести список всех таблиц в указанной базе данных
  • get_schema_for_table - Получить оператор CREATE TABLE (схему) для указанной таблицы

Предварительные требования

Нужно добавить ключ Anthropic или OpenAI в виде переменной окружения:
Либо вы можете указать файл конфигурации.

Подключение к Песочнице ClickHouse

Мы рассмотрим эту возможность в Песочнице ClickHouse. Подключиться к Песочнице ClickHouse можно с помощью следующей команды:
Предполагается, что ClickHouse у вас уже установлен; если нет, обратитесь к руководству по установке

Как задавать вопросы ClickHouse на естественном языке

Теперь пора начать задавать вопросы! Возможность преобразования текста в SQL — это, по сути, инструмент для разовой генерации запросов. Поскольку он не сохраняет историю диалога, добавляйте в вопрос как можно больше полезного контекста. Указывайте, в частности: Периоды времени или диапазоны дат Какой анализ вам нужен (средние значения, итоги, ранжирование и т. д.) Любые критерии фильтрации

Поиск дорогих рынков жилья

Давайте начнём с вопроса о ценах на жильё. В Песочнице ClickHouse есть набор данных о ценах на жильё в Великобритании, который ИИ найдёт автоматически:
Как только мы нажмём Enter, мы увидим, как ИИ рассуждает, пытаясь ответить на наш вопрос.
ИИ выполняет следующие шаги:
  1. Обнаружение схемы — исследует доступные базы данных и таблицы
  2. Анализ таблиц — изучает структуру релевантных таблиц
  3. Генерация запроса — создает SQL на основе вашего вопроса и обнаруженной схемы
Мы видим, что таблица uk_price_paid действительно была найдена и для нас был сгенерирован запрос, который можно выполнить. Если выполнить этот запрос, мы увидим следующий вывод:
Если мы хотим задать уточняющие вопросы, нам нужно каждый раз формулировать вопрос заново.

Поиск дорогой недвижимости в Большом Лондоне

Поскольку эта возможность не сохраняет историю диалога, каждый запрос должен быть самодостаточным. Задавая уточняющие вопросы, нужно приводить полный контекст, а не ссылаться на предыдущие запросы. Например, просмотрев предыдущие результаты, мы можем захотеть сосредоточиться именно на объектах недвижимости в Большом Лондоне. Вместо вопроса “А как насчёт Большого Лондона?” нужно включить полный контекст:
Обратите внимание, что ИИ проходит тот же процесс поиска, хотя только что проанализировал эти данные:
Это формирует более точный запрос, который отбирает данные именно по Большому Лондону и разбивает результаты по годам. Результат выполнения запроса показан ниже:
Сити Лондона неизменно оказывается самым дорогим районом! Вы заметите, что ИИ составил вполне корректный запрос, хотя результаты отсортированы по средней цене, а не по хронологии. Для годового анализа можно уточнить вопрос и явно попросить показать “самый дорогой район в каждом году”, чтобы результаты группировались иначе.
Последнее изменение 3 июля 2026 г.