Skip to content

Advanced RAG System for Intelligent Document Querying. Built with Python, FastAPI, and React, leveraging Gemini Pro and ChromaDB for high-precision context retrieval from PDFs and codebases.

License

Notifications You must be signed in to change notification settings

ManuelDuque/InsightRAG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 InsightRAG: Intelligent Document Intelligence System

Python FastAPI React License: MIT

InsightRAG es un sistema de Generación Aumentada por Recuperación (RAG) diseñado para transformar documentos PDF estáticos en una base de conocimiento interactiva. Combina embeddings locales (privacidad/coste) con LLMs (Google Gemini) para sintetizar respuestas con trazabilidad.

🚀 Key Features

  • Hybrid RAG Pipeline: ingesta PDF → chunking → embeddings locales → ChromaDB → recuperación → respuesta con Gemini.
  • Dynamic Model Selection: lista modelos disponibles desde el proveedor y permite elegir en UI.
  • Vector Persistence: persistencia local en ChromaDB para iterar rápido.
  • Sources / Traceability: devuelve evidencias con metadatos (página) + snippet.
  • Professional UI: chat moderno con selección de modelo y carga de documentos.

🏗️ Architecture

La documentación técnica está en la carpeta docs/:

🛠️ Tech Stack

Component Technology
Frontend React + Vite + Axios + Tailwind
Backend FastAPI + LangChain
Vector DB ChromaDB
Embeddings HuggingFace (local: sentence-transformers/all-MiniLM-L6-v2)
LLM Google Gemini (via langchain-google-genai)

⚙️ Installation & Setup

1) Backend

cd backend
pip install -r requirements.txt

Crea tu .env (puedes copiar el ejemplo):

copy .env.example .env

Añade tu GOOGLE_API_KEY en backend/.env.

Arranque:

uvicorn src.main:app --reload

API (dev): http://127.0.0.1:8000 Swagger: http://127.0.0.1:8000/docs

2) Frontend

cd frontend
npm install

Configura la URL del backend con variables de entorno (Vite):

  • frontend/.env (ya incluido en este repo para dev local)
  • ejemplo: frontend/.env.example
npm run dev

UI (dev): http://localhost:5173

📸 Screenshots

1) Vista principal (UI)

Interfaz principal del chat, con selector de modelo y carga de documentos PDF para iniciar la ingesta.

UI: pantalla principal con selección de modelo y carga de PDF

2) Respuesta con trazabilidad (RAG)

Ejemplo de pregunta y respuesta generada, incluyendo fuentes/evidencias con metadatos (página) y un snippet del contenido recuperado.

UI: respuesta con fuentes (página + snippet)

🧪 API Contract (Quick Reference)

  • GET /models → lista modelos
  • POST /upload → ingiere un PDF
  • POST /ask{ query, model_name }{ answer, sources: [{ page, snippet }] }
  • POST /reset → resetea vector DB

🗺️ Roadmap (Engineering-grade)

  • Rate limiting server-side y backoff con jitter para 429.
  • Streaming de tokens (SSE/WebSocket) para UX.
  • Multi-document / multi-user (índices por sesión/usuario).
  • Evaluación: dataset + métricas (hit-rate, faithfulness).

About

Advanced RAG System for Intelligent Document Querying. Built with Python, FastAPI, and React, leveraging Gemini Pro and ChromaDB for high-precision context retrieval from PDFs and codebases.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published