Sistema de trapo de NCERT Books
Este proyecto implementa un sistema de generación de recuperación (RAG) para libros NCERT que usan Ollama para la incrustación de texto y la base de datos de vectores, y la API Groq para la respuesta del modelo de lenguaje.
Características
- Utiliza el modelo de incrustación de texto nomic a través de Ollama para crear integridades vectoriales
- Tiendas de incrustaciones en ChromadB
- Utiliza Groq API con Llama 3 8B Modelo para generar respuestas
- Proporciona un backend de Fastapi y un interfaz de transmisión por interacción para el usuario
Interfaz de transmisión
A continuación se muestra una captura de pantalla de la interfaz de transmisión para nuestro sistema de trapo de NCERT Books:

Arquitectura del sistema
Aquí hay una descripción general de la arquitectura del sistema NCERT Books Rag:

La arquitectura del sistema consta de los siguientes componentes:
- Ingestión de datos : los libros de NCERT se procesan y preparan para incrustar.
- Generación de incrustación : Ollama con el modelo de incrustación de texto nomic crea integridades vectoriales para el texto procesado.
- Almacenamiento vectorial : ChromAdB almacena los incrustaciones generadas para una recuperación eficiente.
- Procesamiento de consultas : las consultas de los usuarios se procesan y se recuperan las integridades relevantes de ChromAdB.
- Modelo de lenguaje : Groq API con Llama 3 8B El modelo genera respuestas basadas en el contexto recuperado y la consulta de usuario.
- Backend : Fastapi maneja la comunicación entre el interfaz y los diversos componentes del sistema.
- Frontend : Streamlit proporciona una interfaz de usuario interactiva para consultar el sistema y mostrar resultados.
Requisitos previos
Antes de comenzar, asegúrese de haber cumplido los siguientes requisitos:
- Python 3.7+
- Ollama instalado y configurado
- Cuenta de API de Groq y clave API
Instalación
Clon el repositorio:
git clone https://github.com/yourusername/ncert-rag-system.git
cd ncert-rag-system
Instale las dependencias requeridas:
pip install -r requirements.txt
Descargar y configurar Ollama:
- Siga las instrucciones en el sitio web oficial de Ollama para instalar Ollama
- Descargue el modelo de incrustación de texto nomic:
ollama pull nomic-embed-text
Configure su tecla API Groq:
- Crear un archivo
.env en la raíz del proyecto - Agregue su tecla API Groq:
GROQ_API_KEY=your_api_key_here
Uso
Comience el backend de Fastapi:
uvicorn main:app --reload
Inicie la interfaz de usuario de transmisión:
streamlit run streamlit_app.py
Abra su navegador web y navegue a la URL de la aplicación de transmisión (generalmente http://localhost:8501 )
Use la interfaz para interactuar con el sistema de trapo de NCERT Books
Evaluación de trapo

Licencia
Este proyecto tiene licencia bajo la licencia MIT; consulte el archivo de licencia para obtener más detalles.
Que contribuye
¡Las contribuciones son bienvenidas! No dude en enviar una solicitud de extracción.
Expresiones de gratitud
- Ollama por proporcionar el modelo de incrustación
- Groq para su API LLM
- Fastapi y racionalización para los marcos de backend y frontend