Engineer Companion — offline-RAG
Offline-RAG по документации радиотерапевтического оборудования. Гибридный поиск LanceDB + BM25, локальные эмбеддинги и реранкер, CPU-only. Ответы цитируют документ, страницу и область чертежа.
Задача
Инженер, обслуживающий клинический линейный ускоритель, работает в экранированном бункере без интернета и должен за секунды найти точную страницу спецификации среди десятков тысяч страниц руководств.
Что сделал
Одно Python-ядро: индексация PDF, чанкинг, эмбеддинги, поиск в LanceDB и каталог фактов.
Гибридный поиск: dense-векторы + BM25, с кросс-энкодерным реранкером.
Локальный квантованный инференс (Gemma-3-4B, GGUF / llama.cpp); каждый ответ несёт ссылку на документ, страницу и область чертежа.
Результат
- фактов в индексе
- 21,214
- точность на бенчмарке
- 96/100
- p50 · CPU
- 130 ms
- тестов проходят
- 768/775
Стек
- Python
- LanceDB
- BM25
- multilingual-e5-small
- mmarco reranker
- Gemma-3-4B (GGUF)
- llama.cpp
- PySide6
- pytest
Что публично
Публичный код. В репозитории — код поиска и генерации и тесты; бенчмарк-харнесс внутренний.