# 1C RAG Search Первый поиск по корпусу реализован как локальный lexical BM25-подобный индекс. Он нужен для ранней проверки: - документы попали в корпус; - чанки имеют нормальный размер; - поиск возвращает ожидаемые источники; - ответы модели можно снабжать найденным контекстом. Это не финальная семантическая RAG-база. Позже добавим embedding-модель и vector store. Что уже есть: - нормализация русских окончаний для частых 1С-терминов; - алиасы `1с/bsl`, `справочник/catalog`, `реквизиты/attribute`, `метаданные/metadata`; - смысловые `source_type`: `metadata`, `bsl`, `query`, `safety`, `docs`; - RAG-профили и auto-routing по вопросу; - бонус за совпадение в заголовке чанка; - опциональная дедупликация результатов по документу; - smoke-проверка качества поиска. ## Build Index ```powershell python scripts/build_1c_rag_index.py ``` Для синтетического примера: ```powershell python scripts/build_1c_rag_index.py --corpus plugins/1c/datasets/prepared/rag_corpus.example.jsonl --output plugins/1c/datasets/prepared/rag_index.example.json ``` ## Search ```powershell python scripts/search_1c_rag.py "метаданные справочника" --index plugins/1c/datasets/prepared/rag_index.example.json ``` ```powershell python scripts/search_1c_rag.py "реквизиты справочника номенклатура" ` --index plugins/1c/datasets/prepared/rag_index.example.json ` --profile auto ` --limit 5 ` --candidate-limit 30 ` --dedupe-by-document ``` ## Quality Smoke ```powershell python scripts/check_1c_rag_quality.py --index plugins/1c/datasets/prepared/rag_index.example.json --print ```