432просмотров
12 марта 2026 г.
Score: 475
Как я оставил бота без «мозгов» и эпично стер базу В предыдущем посте я писал, что перенёс бота на удалённый сервер. Звучало гладко. На деле всё оказалось не совсем так. Что произошло
Код нормально подгрузился с GitHub, бот запустился и начал отвечать пользователям. Проблема была в одном - я забыл загрузить векторную базу.
Бот работал «по старой памяти» (точнее, уверенно галлюцинировал), не имея доступа ни к одному из 858 загруженных судебных дел. При этом ответы выглядели крайне правдоподобно😄
Поняв это, я начал искать способ закинуть базу на сервер. Посоветовался с Trae AI. Он уверенно выдал план: делаем репозиторий приватным и льем всё через Git LFS (для больших файлов).
Итог: GitHub выдал ошибку — лимит по размеру на бесплатном тарифе превышен, база не влезла. Каково же было мое разочарование, когда я заглянул в локальную папку с базой и обнаружил, что Git подменил реальные файлы на короткие текстовые пустышки (LFS-указатели). Как я разбирался
Подключил Claude Code. Он помог восстановить цепочку событий, но итог был один: файлы восстановлению не подлежат.
Так как пришлось заново индексировать 858 дел и ГК РФ, я решил перепроверить архитектуру поиска. Тут клод выдал второе разочарование дня: родительские чанки в моей системе не работали вовсе. Код был написан, файлы лежали в папке, но в пайплайне они не использовались. Иерархической системой, о которой я писал ранее, там и не пахло. Что в итоге переделал
➡️Подключил разбиение на родительские и дочерние чанки. Теперь поиск идет по коротким фрагментам, а модель получает полный контекст дела с логикой суда.
➡️Добавил reranker (кросс-энкодер) — модель-судью, которая переоценивает релевантность после первичного поиска. ➡️Увеличил перекрытие между чанками, чтобы смысл не терялся на стыках.
➡️Заменил запись логов в json-файл на SQLite для сбора статистики.
➡️Настроил rsync для синхронизации тяжелых данных между ноутом и сервером.
➡️Доработал промпт под новую редакцию ГК РФ (ФЗ-214 от 04.01.2026). Уроки, которые стоили мне половины дня:
➡️GitHub — не файлообменник. Векторная база, ключи, веса моделей и бэкапы должны быть в gitignore. Для переноса данных есть rsync, FileZilla или scp.
➡️Git LFS на бесплатном тарифе — мина замедленного действия. Обрыв загрузки может превратить ваши файлы в тыкву.
➡️Не доверяй каждому совету ИИ (даже если очень хочется быстро решить проблему).
➡️Возможно, стоило использовать API-эмбеддинги вместо локальной модели — с ними индексация проходит куда быстрее. Но мы не ищем легких путей. 🤖 Бот снова в строю. Протестировать тут: @GetINNinfo_bot