Ncert Books Rag System
Этот проект реализует систему извлечения в поисках генерации (RAG) для книг NCERT с использованием OLLAMA для встраивания текста и векторной базы данных, а также API GROQ для ответа на языковой модели.
Функции
- Использует модель номинального текста через Ollama для создания векторных встроений
- Магазины встраивания в ChromADB
- Использует Groq API с моделью Llama 3 8b для получения ответов
- Предоставляет бэкэнд FastAPI и фронта по потоковой связи для взаимодействия с пользователем
Интерфейс стримки
Ниже приведен скриншот интерфейса потока для нашей тряпичной системы NCERT:

Системная архитектура
Вот обзор архитектуры системы Rag Books Ncert Books:

Архитектура системы состоит из следующих компонентов:
- Принимание данных : книги NCERT обрабатываются и подготовлены для внедрения.
- Поколение внедрения : Ollama с номинальной моделью встраивания текста создает векторные встроения для обработанного текста.
- Векторное хранение : ChromADB хранит сгенерированные встраивания для эффективного поиска.
- Обработка запросов : запросы пользователей обрабатываются, а соответствующие встроены из ChromADB.
- Языковая модель : Groq API с Llama 3 8B Модель генерирует ответы на основе полученного контекста и пользовательского запроса.
- Бэкэнд : FASTAPI обрабатывает связь между фронтом и различными компонентами системы.
- Frontend : Streamlit предоставляет интерактивный пользовательский интерфейс для запроса системы и отображения результатов.
Предварительные условия
Прежде чем начать, убедитесь, что вы выполнили следующие требования:
- Python 3.7+
- Оллама установил и настроил
- Groq api аккаунт и ключ API
Установка
Клонировать репозиторий:
git clone https://github.com/yourusername/ncert-rag-system.git
cd ncert-rag-system
Установите требуемые зависимости:
pip install -r requirements.txt
Скачать и настроить Ollama:
- Следуйте инструкциям на официальном сайте Ollama для установки Ollama
- Загрузите модель номинального текста:
ollama pull nomic-embed-text
Установите свой ключ API Groq:
- Создайте файл
.env в корне проекта - Добавьте свой ключ API Groq:
GROQ_API_KEY=your_api_key_here
Использование
Начните бэкэнд FASTAPI:
uvicorn main:app --reload
Запустите пользовательский интерфейс Streamlit:
streamlit run streamlit_app.py
Откройте свой веб -браузер и перейдите к URL -адресу приложения Streamlit (обычно http://localhost:8501 )
Используйте интерфейс для взаимодействия с тряпичной системой NCERT Books
Оценка тряпки

Лицензия
Этот проект лицензирован по лицензии MIT - для получения подробной информации см. Файл лицензии.
Внося
Взносы приветствуются! Пожалуйста, не стесняйтесь отправить запрос на привлечение.
Благодарности
- Ollama за предоставление модели встраивания
- Groq для их API LLM
- FASTAPI и стримки для бэкэнд и фронтальных рамок