Spaces:
Sleeping
A newer version of the Gradio SDK is available: 6.12.0
title: Russian_AI_QA
emoji: 🤖
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.23.0
app_file: app.py
pinned: false
RAG-система: Национальная стратегия развития ИИ в России
Описание
Система ответов на вопросы (RAG) по документу «Национальная стратегия развития искусственного интеллекта на период до 2030 года» (с изменениями 2024 г.).
Стек: Python, LangChain, ChromaDB, Google Gemini API, Gradio
Быстрый старт
1. Установка зависимостей
pip install -r requirements.txt
2. Настройка окружения
Скопируйте .env.example в .env и укажите ваш API-ключ Google Gemini:
cp .env.example .env
# Отредактируйте .env — впишите GOOGLE_API_KEY
Получить ключ можно на https://aistudio.google.com/apikey
3. Запуск приложения
python app.py
При первом запуске система автоматически:
- Извлечёт текст из PDF-документов в папке
raw_data/ - Разобьёт текст на смысловые фрагменты (по пунктам документа)
- Рассчитает эмбеддинги и проиндексирует их в ChromaDB
При повторных запусках используется уже готовая база.
Интерфейс будет доступен по адресу: http://localhost:7860
4. Параметры запуска
python app.py --top-k 5 --temperature 0.1 --port 7860 --share
--top-k— количество извлекаемых фрагментов (по умолчанию 10)--temperature— температура генерации (по умолчанию 0.1)--share— создать публичную ссылку через Gradio
5. Запуск без интерфейса (пакетная обработка)
python rag.py "Ваш вопрос здесь"
Деплой на HuggingFace Spaces
gradio deploy
Команда в интерактивном режиме спросит название Space, видимость и загрузит файлы автоматически.
Важно: После деплоя добавьте API-ключ через Settings → Secrets на странице Space: имя секрета —
GOOGLE_API_KEY.
Структура проекта
├── raw_data/ # Исходные PDF-документы
├── chroma_db/ # Векторная база (создаётся автоматически)
├── evaluation/
│ ├── test_set.xlsx # Тестовые вопросы
│ └── evaluate.py # Скрипт оценки Ragas
├── config.py # Конфигурация из переменных окружения
├── ingest.py # Парсинг PDF, чанкинг, индексация
├── rag.py # Ядро RAG-пайплайна
├── app.py # Gradio-интерфейс
├── prompt_template.txt # Системный промпт (редактируемый)
├── requirements.txt # Зависимости
├── .env.example # Шаблон переменных окружения
└── README.md