
DocumentMentor es un sistema RAG (Retrieval Augmented Generation) que actúa como asistente de documentación técnica. Utilizando la arquitectura RAG, el sistema combina la potencia de GPT-3.5 de OpenAI con una base de conocimiento local para proporcionar respuestas precisas y contextualizadas sobre documentos técnicos en español.
Python 3.10+: Lenguaje base del proyecto
LangChain: Framework principal para la construcción del sistema RAG
OpenAI API:
RAG (Retrieval Augmented Generation):
DocumentMentor utiliza Streamlit como framework para la interface de usuario, proporcionando:
Chat Interactivo:
Gestión de Documentos:
Panel de Control:
documentmentor/
├── data/ # Datos y almacenamiento
│ ├── processed/ # Documentos procesados
│ ├── vector_store/ # Almacenamiento vectorial
│ │ ├── document_map.json # Mapeo de documentos
│ │ └── faiss.index # Índice FAISS
│ └── documentmentor.db # Base de datos SQLite
│
├── src/ # Código fuente
│ ├── core/ # Lógica principal
│ │ ├── __init__.py
│ │ ├── document_processor.py # Procesamiento de PDFs
│ │ ├── memory_manager.py # Gestión de memoria
│ │ └── qa_engine.py # Motor de Q&A
│ │
│ ├── data/ # Capa de datos
│ │ ├── __init__.py
│ │ ├── database.py # Operaciones SQLite
│ │ └── vector_store.py # Gestión vectorial
│ │
│ └── ui/ # Interfaz de usuario
│ └── app.py # Aplicación Streamlit
│
├── .env # Variables de entorno
├── .env.example # Ejemplo de configuración
├── .gitignore
├── main.py # Punto de entrada
├── README.md
└── requirements.txt # Dependencias
Carga de PDFs:
Indexación:
Preguntas del Usuario:
Búsqueda Semántica:
Generación de Respuestas:
Preparación:
Consultas:
Seguimiento:
# Core LangChain dependencies
langchain==0.3.12
langchain-core==0.3.25
langchain-community==0.3.12
langchain-openai==0.2.12
openai==1.57.4
# Document Processing
pypdf==5.1.0
python-dotenv==1.0.1
# Vector Store & Embeddings
sentence-transformers==3.3.1
faiss-cpu==1.9.0.post1
torch==2.5.1
torchvision==0.20.1
torchaudio==2.5.1
# Database
SQLAlchemy==2.0.36
# UI Framework
streamlit==1.41.1
# Utils
numpy==2.2.0
pandas==2.2.3
pydantic==2.10.3git clone https://github.com/Jaolmos/documentmentor-rag.gitpython -m venv venv# Windows
venvScriptsactivate
# Linux/Mac
source venv/bin/activatepip install -r requirements.txt# Copiar el archivo de ejemplo
cp .env.example .env
# Editar el archivo .env usando .env.example como referencia
# y añadir tu API key de OpenAI
OPENAI_API_KEY=tu_api_keypython main.pyEl script main.py realiza las siguientes tareas:
.envOPENAI_API_KEYdata/processed/ para documentos procesadosdata/vector_store/ para índices vectoriales