Режим 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:
|
| 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-режима не сохраняется на диск между запусками. Может использоваться, если переписку с ассистентом не следует хранить на диске. |