AI Gateway — швидкі перевірки БД

Шпаргалка щоб подивитись «що там у пам’яті насправді» без копання в коді. Всі запити виконуються через docker exec, нічого не треба ставити локально.

Контейнер БД: ai-database (PostgreSQL 15 + pgvector) Юзер БД: ai_admin База: ai_gateway_db

Швидкі пресети

Боти — що взагалі є

Корисно: побачити які боти існують, які моделі їм призначені, чи вони активні.

Знайти бота по імені персони

Зміни солом на потрібне ім’я. Колонка name — це технічна назва (laravelbotX), а personality.name — людське ім’я персони.

Personal memory всіх ботів — статистика

Покаже: для кого пам’ять накопичується, коли останнє оновлення, хто без жодного факту.

Personal memory конкретного бота — повний вміст

Підстав свій BOT_ID. Покаже всі факти що бот знає про кожного юзера.

Розмови бота — стан summary

Покаже: де є summary, на якому повідомленні останнього разу згорталось, скільки повідомлень у розмові. Якщо msg_count > 10 а has_summary = f — щось не так зі згорткою.

Останні повідомлення розмови

Корисно щоб подивитись хто що сказав і коли, без повного дампу довгих повідомлень.

Knowledge chunks (RAG-база) бота

Покаже baseline-знання бота: персону, біографію, методики, FAQ. Якщо has_embedding = f — chunk без вектора, semantic search його не знайде.

Резюме (summary) розмови — повний текст

Покаже як meta-модель стиснула історію розмови. Корисно щоб оцінити якість згортання.

Адміністративні

Видалити неправильну memory

Якщо STT почув щось не те і фейк потрапив у пам’ять:

Обережно: немає WHERE зі специфікою — видалить весь запис цього юзера у цього бота. Якщо там 10 правильних фактів і один фейковий — або підправляй JSON руками, або змирися (наступне оновлення meta-моделі перепише).

Скинути summary конкретної розмови (примусово згенерувати знову)

Наступне повідомлення в цій розмові згенерує summary заново.

Активні розмови за останню добу

Корисно щоб побачити «що в нас сьогодні взагалі рухалось».

Розмір таблиць

Покаже скільки рядків і скільки місця у кожній таблиці. Корисно коли проєкт росте — побачити чи embeddings займають все.

Інтерактивний режим (psql shell)

Якщо треба покопатись довше, не пишучи docker exec кожного разу:

Корисні команди в psql:

  • \dt — список таблиць
  • \d personal_memories — структура таблиці
  • \x — увімкнути «expanded» режим (вертикальна форма, зручно для широких рядків)
  • \q — вихід

Тригерні точки — на що звертати увагу

Симптом Перевірити
Бот «забуває» юзера personal_memories — чи є запис, чи updatedAt свіжий
Розмова «з нуля» хоч ти писав conversations — чи правильний channelId, чи знайшлась стара
Бот тупиш на 11-му повідомленні lastSummary — чи згенерувалось, чи has_summary=t
Бот плутає тебе з іншим юзером personal_memories.userId — Telegram дає laravel_user_X, desktop дає desktop_X, це різні юзери для бота
Knowledge не використовується knowledge_chunks.has_embedding — якщо f, RAG його не знайде
Дублікати у memory (Не має бути після UPSERT). Якщо є — баг, перевір UNIQUE(botId, userId) constraint

Маленький лайфхак — alias

Кинь у ~/.bashrc:

Тепер замість довгого docker exec ai-database psql -U ai_admin -d ai_gateway_db -c "..." пишеш:

Економить багато сек.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *