Разделы
Начало работы
Быстрый стартCLI-флаги и конфиг
SQL
Диалект FileDB SQLDDLDMLSELECTФункции и выраженияТранзакции
Клиенты
HTTP APIНативные драйверыPostgreSQL / MySQL wire-протоколБинарный RPC
Возможности
RBAC (multi-user)Эмбеддинги (семантический поиск)Импорт файловБэкапыДемо-режим-витрина и управление .fdb
Эксплуатация
ДеплойАрхитектураFileDB на Windows: трей и автозагрузка
Справка
Сравнение с PostgreSQL / MySQL
AI
AI-функции: обзорAI-чат и AI-агентУмный экспорт и AI-маппинг импортаЭмбеддинги и гибридный поискНастройка AI: провайдеры и пресеты
Дашборды
Дашборды: обзорДатасеты и чартыNo-Code конструктор запросовAI-ассистент дашбордовВиджеты, сетка и фильтрыПубличные ссылки и экспортРаскладка, текстовые карточки и KPI-сравнение

AI-ассистент дашбордов

Третий способ собрать запрос для виджета — описать нужное словами. POST /api/dashboards/ai/suggest принимает {db, prompt}, передаёт LLM описание схемы (только имена таблиц/колонок, типы, PK/NOT NULL и подсказанные связи — ни одной строки реальных данных), получает один SELECT с объяснением, затем прогоняет его через EXPLAIN и превью — так же, как это уже устроено у умного экспорта.

curl -X POST $URL/api/dashboards/ai/suggest -H "X-Token: $TOK" -d '{
  "db": "shop",
  "prompt": "Выручка по месяцам за последний год"
}'
{
  "sql": "SELECT strftime('%Y-%m', created_at) AS month, SUM(amount) AS revenue FROM orders WHERE created_at >= ... GROUP BY month",
  "explain": "Суммирует amount по месяцам за последние 12 месяцев",
  "plan": "...",
  "preview": [ ... ]
}

Используется тот же провайдер, что настроен для AI-чата и умного экспорта (глобальный пресет, см. страницу «Настройка AI: провайдеры и пресеты») — отдельного ключа для дашбордов заводить не нужно.

Модель предлагает, а не решает

Промпт просит модель вернуть только SELECT, но промпт — не защита, а лишь подсказка. Настоящая граница — тот же parser-level read-only guard, что и у остальных трёх источников запроса: что бы модель ни вернула, в том числе в результате prompt injection или галлюцинации, запрос проверяется и выполняется только через ExecReadOnlySQL. Если LLM «придумает» DELETE вместо SELECT, запрос будет отклонён этим guard'ом до какого-либо выполнения, а не молчаливо провалится где-то глубже.

POST /api/dashboards/ai/validate даёт прогнать через ту же цепочку (валидация → EXPLAIN → превью) уже готовый SQL — свой или отредактированный ответ модели — без нового обращения к LLM.

Похожие страницы
← Назад
No-Code конструктор запросов
Далее →
Виджеты, сетка и фильтры