Режим AI-ассистента

Интерактивный режим выполнения запросов YDB CLI включает режим AI-ассистента — диалогового агента на основе большой языковой модели (LLM). Ассистент понимает запросы на естественном языке и помогает работать с базой данных: исследовать её структуру, писать и выполнять запросы YQL, объяснять планы запросов, искать информацию в документации и вызывать команды YDB CLI.

Важно

Ассистент обращается к внешнему API большой языковой модели, которое вы указываете самостоятельно. Содержимое диалога, включая структуру схемы и результаты запросов, которые ассистент решит передать модели, отправляется этому API. Не используйте режим с конфиденциальными данными, если это запрещено вашими политиками. YDB CLI не предоставляет языковую модель и ключ доступа к ней — их необходимо получить у выбранного вами провайдера.

Переключение в AI-режим

Интерактивный режим работает в одном из двух подрежимов:

  • YQL — ввод и выполнение запросов YQL (используется по умолчанию при первом запуске);
  • AI — диалог с AI-ассистентом.

Запустите интерактивный режим, выполнив команду ydb без подкоманды с необходимыми параметрами подключения:

ydb [global options...]

Активный подрежим отображается в приглашении командной строки (YQL> или AI>). Переключаться между подрежимами можно горячей клавишей Ctrl + T или командой /switch. YDB CLI запоминает последний использованный подрежим и открывает его при следующем запуске.

Настройка AI-профиля

Для работы ассистента нужен AI-профиль — набор параметров подключения к API языковой модели. При первом переходе в AI-режим, если профилей ещё нет, YDB CLI предложит создать профиль и проведёт через настройку шаг за шагом:

Параметр Описание
API endpoint URL API языковой модели. Должен начинаться с http:// или https:// (например, https://api.openai.com/v1/). YDB CLI проверяет соединение с указанным адресом.
API type Тип API:
  • OpenAI-compatible — для моделей с OpenAI-совместимым API;
  • Anthropic — для API Anthropic.
API token Токен доступа к API. Сохраняется в файле конфигурации. Поле можно оставить пустым и передавать токен через переменную окружения YDB_CLI_AI_TOKEN.
Model name Имя модели. Если API позволяет, YDB CLI запросит список доступных моделей; имя также можно ввести вручную. Пустое значение означает, что имя модели не передаётся в запросах.
Profile display name Отображаемое имя профиля, под которым он сохраняется и показывается при выборе.

После настройки профиль сохраняется в файле конфигурации и становится активным. Сменить активный профиль или создать новый можно командой /model.

Работа с ассистентом

В AI-режиме введите сообщение на естественном языке и нажмите Enter для отправки (Ctrl + Enter — перенос строки). Ассистент анализирует запрос и при необходимости вызывает инструменты для работы с базой данных:

Возможность Изменяет данные Подтверждение
Просмотр списка объектов схемы по указанному пути Нет Не требуется
Описание объекта схемы (таблицы, топика и т. д.) Нет Не требуется
Получение плана запроса YQL (EXPLAIN) Нет Не требуется
Поиск информации в документации YDB Нет Не требуется
Получение справки по командам YDB CLI Нет Не требуется
Выполнение запроса YQL Да Требуется
Выполнение команды оболочки Да Требуется

Ассистент сохраняет контекст диалога: последующие сообщения в той же сессии учитывают предыдущие. Очистить контекст можно командой /config.

Подтверждение действий

Перед выполнением действия, которое может изменить данные, — выполнения запроса YQL или команды оболочки — ассистент запрашивает подтверждение и предлагает варианты:

  • Approve execution — выполнить запрос или команду в текущем виде;
  • Edit query / Edit command — отредактировать текст запроса или команды перед выполнением;
  • Abort operation — отменить выполнение (и продолжить работу в том же контексте).

Команды

В AI-режиме доступны следующие команды:

Команда Описание
/help Показать справку по AI-режиму и список горячих клавиш.
/model Выбрать другой AI-профиль или создать новый.
/config Изменить настройки сессии: очистить контекст диалога, сменить или отредактировать активный профиль, удалить профиль.
/switch Переключиться в режим YQL (аналог Ctrl + T).

Файл конфигурации

AI-профили и настройки AI-режима хранятся в YAML-файле. По умолчанию это ~/.config/ydb/ai_profiles.yaml; путь можно переопределить переменной окружения YDB_CLI_AI_PROFILE_FILE. Файл содержит список профилей, идентификатор активного профиля и текущий подрежим интерактивного режима. Обычно его не требуется редактировать вручную — управляйте профилями через команды /model и /config.

Примечание

Токен, введённый при настройке профиля напрямую, сохраняется в файле конфигурации. YDB CLI ограничивает права доступа к этому файлу так, что читать и изменять его может только пользователь-владелец, запустивший CLI (в Unix-системах — режим доступа 0600). Если вы предпочитаете не хранить токен на диске, оставьте поле токена пустым и передавайте его через переменную окружения YDB_CLI_AI_TOKEN.

Переменные окружения

Переменная Описание
YDB_CLI_AI_TOKEN Токен доступа к API языковой модели. Используется, если токен не задан в активном профиле.
YDB_CLI_AI_PROFILE_FILE Путь к файлу конфигурации AI-профилей. По умолчанию ~/.config/ydb/ai_profiles.yaml. Позволяет использовать отдельный набор профилей или нестандартное расположение файла, например в автоматизированных сценариях.
YDB_CLI_AI_DISABLE_HISTORY Если переменная задана, история сообщений AI-режима не сохраняется на диск между запусками. Может использоваться, если переписку с ассистентом не следует хранить на диске.