RAG (Retrieval-Augmented Generation) система для работы с технической документацией на русском и английском языках. Система использует современные языковые модели и поддерживает OCR для обработки сканированных документов.
- Мультиязычность: Поддержка русского и английского языков
- OCR: Обработка сканированных PDF документов с помощью Docling VLM
- Современные модели: Использование Llama 3.2 и многоязычных эмбеддингов
- Векторный поиск: ChromaDB для эффективного поиска по документам
- Web интерфейс: Удобный UI на базе Gradio
- Docker: Готовое решение для контейнеризации
- Источники: Указание источников информации с номерами страниц
- Docling: Продвинутая обработка PDF с OCR
- LangChain: Оркестрация RAG pipeline
- Llama 3.2 1B: Генерация ответов
- Sentence Transformers: Многоязычные эмбеддинги
- ChromaDB: Векторная база данных
- Gradio: Web интерфейс
git clone https://github.com/codemurt/rag-system.git
cd rag-system
docker-compose up -d
open http://localhost:7860- Клонируйте репозиторий:
git clone https://github.com/codemurt/rag-system.git
cd rag-system- Соберите и запустите контейнеры:
docker-compose build
docker-compose up -d- Проверьте статус:
docker-compose ps
docker-compose logs -f- Создайте виртуальное окружение:
python -m venv venv
source venv/bin/activate # Linux/macOS
# или
venv\Scripts\activate # Windows- Установите зависимости:
pip install -r requirements.txt- Запустите приложение:
python app.py- Откройте браузер и перейдите на http://localhost:7860
- Загрузите PDF документ через интерфейс
- Введите вопрос о содержании документа
- Получите ответ с указанием источников
rag-system/
├── app.py # Основное приложение
├── requirements.txt # Python зависимости
├── Dockerfile # Docker образ
├── notebook.ipynb # Пример запуска без GUI
├── notebook_gradio.ipynb # Пример запуска с Gradio
├── docker-compose.yml # Docker-compose конфигурация
├── .env # Переменные окружения
├── README.md # Документация
├── chroma_db/ # Векторная БД (создается автоматически)
├── logs/ # Логи (создается автоматически)
└── uploads/ # Загруженные файлы
