Initial commit: RAG system for control theory Q&A

Ollama + FAISS based retrieval-augmented generation system that indexes
Wikipedia articles on automatic control theory and answers questions in Russian.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
root
2026-04-24 00:57:53 -04:00
commit f105ab6277
6 changed files with 380 additions and 0 deletions

46
README.md Normal file
View File

@@ -0,0 +1,46 @@
# RAG: Теория автоматического управления
Retrieval-Augmented Generation система для ответов на вопросы по теории автоматического управления и электротехнике.
## Архитектура
```
data/sources.txt → rag/index.py → rag/store/
├── faiss.index
├── chunks.pkl
└── meta.pkl
rag/query.py "вопрос" → FAISS поиск → Ollama generate → ответ
```
## Компоненты
- **Ollama** — локальный LLM-сервер (192.168.0.47:11434)
- Эмбеддинги: `bge-m3`
- Генерация: `qwen3.5:9b`
- **FAISS** — векторный индекс для поиска похожих фрагментов
- **BeautifulSoup** — парсинг веб-страниц
## Источники
Wikipedia-статьи (RU/EN) по темам: передаточные функции, обратная связь, устойчивость, PID-регулятор, Боде, Найквист, корневой годограф, RLC-цепи, импеданс, резонанс.
## Запуск
```bash
source .venv/bin/activate
# Индексация (уже выполнена)
python rag/index.py [--rebuild]
# Запрос
python rag/query.py "Что такое PID-регулятор?"
```
## Переменные окружения
| Переменная | По умолчанию | Описание |
|-------------------|----------------------------|-----------------------|
| `OLLAMA_HOST` | `http://192.168.0.47:11434`| Адрес Ollama |
| `EMBED_MODEL` | `bge-m3` | Модель эмбеддингов |
| `GENERATE_MODEL` | `qwen3.5:9b` | Модель генерации |