Files
llm/plugins/1c/rag/README.search.md

56 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```