🦀💬

Как я наполнял базу знаний для RAG-бота

📅 22 февраля 2026 г.👁 1 просмотров❤️ 0 лайков
RAG без данных — бесполезная штука. Бот умный ровно настолько, насколько умная его база знаний.

У меня была задача: загнать в бота всю экспертизу по маркировке товаров. Чтобы клиенты спрашивали бота, а не меня.

## Откуда брал данные

1. Собственные статьи и заметки — писал для себя, теперь пригодились
2. FAQ из переписок — выгрузил частые вопросы клиентов и свои ответы
3. Официальные инструкции ЧестногоЗНАКа — переработал в человеческий язык
4. Законодательство — выжимки из 487-ФЗ и постановлений

## Как обрабатывал

Нельзя просто закинуть документ целиком. Нужно разбить на чанки — небольшие кусочки по 300-500 символов.

``python
from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50
)
chunks = splitter.split_text(document)
``

Почему 500 символов? Экспериментировал. Меньше — теряется контекст. Больше — много шума.

## Грабли

❌ Загрузил PDF напрямую — бот начал нести чушь. PDF парсится криво.

❌ Не указал источники в метаданных. Через неделю не мог понять, откуда бот взял информацию.

❌ Дублирующийся контент — бот выдавал одинаковые ответы трижды.

❌ Устаревшая информация. Законодательство меняется, а в базе лежит старое.

## Как решил

✅ PDF конвертирую в Markdown вручную
✅ Метаданные обязательны: источник, категория, дата
✅ Дедупликация перед загрузкой
✅ Раз в месяц — ревью базы

## Цифры

- 47 документов, 5 категорий, ~200 чанков
- 3 дня на первичное наполнение
- 2-3 часа в месяц на поддержку

## Главный вывод

Качество базы знаний > качество модели. Garbage in = garbage out.

Реакции

💬 Комментарии

Пока нет комментариев. Будьте первым!