Módulo 8: Proyecto Final Integrador

6. Etapa Final: Documento de Diseño Técnico

Descripción

Esta es la etapa final del proyecto. Aquí consolidas todo (arquitectura, decisiones, costos) en un documento de diseño técnico profesional que puedes presentar a stakeholders o usar como blueprint de implementación.


Documento de Diseño Técnico: Sistema RAG Académico

1. Executive Summary

Proyecto: Sistema RAG para búsqueda y Q&A de papers académicos
Cliente: Universidad (20K estudiantes, 1K profesores)
Dataset: 100K documentos (papers, tesis, guías)

Objetivo:
Chatbot inteligente que responde preguntas conceptuales y exactas sobre papers, con latencia < 2s y costo < $2000/mes.

Solución:
Sistema RAG híbrido (semantic + keyword search) con embeddings locales (Sentence-BERT), vector DB (Weaviate), y LLM (GPT-3.5 Turbo).

Resultados esperados:

  • Precision@10: > 0.75
  • Latency (p95): < 2000ms
  • Costo mensual: $570/mes (71% bajo presupuesto)
  • Diversidad: ≥ 3 departamentos en top-20

2. Requisitos

Funcionales:

  1. Búsqueda semántica conceptual ("papers sobre deep learning")
  2. Búsqueda exacta por metadata (autor, año, departamento)
  3. Q&A con LLM ("¿Qué metodología usa el paper de Smith?")
  4. Sugerencia de papers relacionados con diversidad (MMR)
  5. Filtros avanzados (año, departamento, tipo)

No funcionales:

  1. Latencia < 2s (p95)
  2. Costo < $2000/mes
  3. Escalable a 200K documentos
  4. Uptime 99.5% (SLA)

Restricciones:

  1. Datos privados (embeddings deben ser locales)
  2. Presupuesto limitado ($2000/mes)
  3. Equipo pequeño (2 ingenieros)

3. Arquitectura

Componentes principales:

Ingestion Pipeline (offline):

PDFs/LaTeX/DOCX → Text Extraction → Chunking (600 tokens, overlap 100)
→ Embeddings (Sentence-BERT local, 768D) → Weaviate (HNSW)

Query Processing (online):

User Query → Query Analysis → Hybrid Search (Keyword BM25 + Semantic cosine)
→ RRF Fusion (k=60) → MMR (λ=0.6) → Metadata Boost → Top-20 Results

RAG Pipeline (Q&A):

User Question → Retrieval (top-5 chunks) → Augmentation (build prompt)
→ LLM Generation (GPT-3.5, temp=0.1) → Response + Sources

Stack tecnológico:

ComponenteTecnología
Text extractionPyPDF2, pandoc, python-docx
ChunkingLangChain RecursiveCharacterTextSplitter
EmbeddingsSentence-BERT (all-mpnet-base-v2, 768D)
Vector DBWeaviate (self-hosted, HNSW)
LLMOpenAI GPT-3.5 Turbo
APIFastAPI (AWS Lambda)
OrchestrationAirflow (re-indexación periódica)
InfrastructureAWS (GPU server + Weaviate server)

4. Decisiones Técnicas Clave

Embeddings: Sentence-BERT local

Justificación:

  • ✅ Restricción de privacidad (datos no pueden salir)
  • ✅ Costo $0 después de setup
  • ✅ Calidad aceptable (recall@10: 0.69 vs 0.75 OpenAI = -6%)

Trade-off: 6% menor calidad vs OpenAI, pero cumple restricción y ahorra costo.


Vector DB: Weaviate HNSW

Justificación:

  • ✅ Open-source (sin licencia)
  • ✅ HNSW (recall@10: 0.95, latency: 50-100ms)
  • ✅ Hybrid search nativo
  • ✅ Metadata filtering

Parámetros:

  • efConstruction: 256, maxConnections: 64, ef: 128 (query time)

LLM: GPT-3.5 Turbo

Justificación:

  • ✅ Costo: 13x más barato que GPT-4 por query ($0.0017 vs $0.022/query)
  • ✅ Latencia: 2x más rápido (1-2s vs 2-5s)
  • ⚠️ Trade-off: Menor calidad, pero suficiente para Q&A académico

Alternativa: GPT-4 disponible con +$609/mes (aún dentro de presupuesto).


Hybrid search: RRF (k=60) + MMR (λ=0.6)

Justificación:

  • ✅ RRF: Fusiona keyword + semantic sin ajustar α manualmente
  • ✅ MMR: Diversifica top-20 por departamento (RF4)
  • ✅ k=60: Valor estándar probado
  • ✅ λ=0.6: 60% relevancia, 40% diversidad

Chunking: Hierarchical (600 tokens, overlap 100)

Justificación:

  • ✅ 600 tokens: Secciones completas de papers (Abstract, Methods, etc.)
  • ✅ Overlap 100: Captura transiciones entre secciones
  • ✅ Hierarchical: Respeta estructura semántica (no corta oraciones)

5. Flujos de Datos y Latencias

Indexación inicial (una vez):

100K docs → Text extraction (24h) → Chunking (2h) → Embeddings (8h)
→ Weaviate upsert (2h)
Total: ~36 horas (1.5 días)
Costo: $3.48 (despreciable)

Query de búsqueda (típica):

1. Embedding de query (Sentence-BERT): 50ms
2. Weaviate hybrid search (keyword + semantic): 80ms
3. RRF + MMR (Python): 100ms
Total: 230ms ✅ (< 2s target)

Query de Q&A (RAG):

1. Retrieval (same as búsqueda): 230ms
2. Build prompt (Python): 10ms
3. LLM generation (GPT-3.5 streaming): 1200ms
Total: 1440ms ✅ (< 2s target)

6. Costos

Mensual recurrente:

CategoríaCosto/mes
GPU server (embeddings)$255
Weaviate server$248
API server (Lambda)$5
LLM (GPT-3.5)$51
Storage + Monitoring$11
Total$570/mes

Presupuesto: $2000/mes
Margen: $1430/mes (71% bajo presupuesto) ✅


Proyección año 5:

Docs: 125K (+25%)
Queries: 100K/mes (2x inicial)
Costo: $869/mes (aún < presupuesto) ✅

7. Evaluación

Métricas:

  1. Precision@10: > 0.75 (75% de top-10 relevantes)
  2. NDCG@20: > 0.70 (calidad del ranking)
  3. Diversity: ≥ 3 departamentos en top-20
  4. Latency (p95): < 2000ms

Evaluation set:

100 queries etiquetadas manualmente por profesores:
- 40 queries conceptuales ("papers sobre X")
- 30 queries exactas ("tesis de Y")
- 30 queries de Q&A ("¿Qué dice el paper Z?")

Cobertura de departamentos: CS, Physics, Biology, Math

8. Limitaciones y Mitigaciones

Limitación 1: Calidad de embeddings (vs OpenAI)

Impacto: Sentence-BERT tiene -6% recall vs OpenAI

Mitigación:

  • Hybrid search (keyword compensa)
  • Reranking (si precision < 0.75 en producción)
  • Fine-tune Sentence-BERT con corpus académico (futuro)

Limitación 2: Latencia en picos

Impacto: GPU puede saturarse con 100+ queries concurrentes

Mitigación:

  • Horizontal scaling: Agregar segundo GPU server (+$255/mes)
  • Cache de queries frecuentes (30% tráfico)
  • Rate limiting (100 req/min por usuario)

Limitación 3: Hallucinations residuales

Impacto: LLM puede "inventar" si contexto es ambiguo

Mitigación:

  • Prompt engineering estricto ("Responde SOLO si contexto contiene respuesta")
  • Citation forcing (forzar citas de fuente)
  • Temperature=0.1 (respuestas más determinísticas)

9. Roadmap de Implementación

Fase 1: MVP (4 semanas)

Semana 1: Setup infrastructure (GPU + Weaviate servers)
Semana 2: Indexación de 10K docs (muestra)
Semana 3: API básica (búsqueda semantic only)
Semana 4: Testing con 20 usuarios alpha

Fase 2: Beta (4 semanas)

Semana 5-6: Indexación completa (100K docs)
Semana 7: Hybrid search + MMR
Semana 8: RAG pipeline (Q&A con GPT-3.5)
Lanzamiento beta: 200 usuarios

Fase 3: Producción (4 semanas)

Semana 9: Evaluation set (100 queries etiquetadas)
Semana 10: Ajuste de parámetros (ef, k, λ)
Semana 11: Monitoring + alertas (CloudWatch)
Semana 12: Lanzamiento público (20K estudiantes)

10. Conclusión

Viabilidad técnica: ✅ Alta

  • Arquitectura probada (RAG + hybrid search)
  • Tecnologías maduras (Weaviate, Sentence-BERT, GPT-3.5)
  • Cumple todos los requisitos funcionales y no funcionales

Viabilidad económica: ✅ Alta

  • Costo: $570/mes (71% bajo presupuesto)
  • Margen de $1430/mes para crecimiento y upgrades
  • Escalable a 10x queries sin exceder presupuesto

Riesgos principales:

  1. Calidad de embeddings locales (-6% vs OpenAI) → Mitigado con hybrid search + posible reranking
  2. Latencia en picos (saturación GPU) → Mitigado con horizontal scaling + cache

Recomendación: Proceder con implementación en 3 fases (MVP → Beta → Producción).


Resumen del Módulo 8

Felicidades por completar el Módulo 8: Proyecto Final. 🎉

Lo que lograste:

  1. ✅ Analizaste requisitos y restricciones (funcionales, no funcionales)
  2. ✅ Diseñaste arquitectura completa (componentes, flujos, stack)
  3. ✅ Tomaste decisiones técnicas justificadas (chunking, embeddings, ranking)
  4. ✅ Estimaste costos ($570/mes, 71% bajo presupuesto)
  5. ✅ Identificaste trade-offs (calidad vs latencia vs costo)
  6. ✅ Creaste documento de diseño técnico profesional

Habilidad consolidada:

"Diseñar un sistema RAG completo requiere integrar TODO lo aprendido: vectores, embeddings, similaridad, ANN, ranking, y trade-offs. No hay solución única; cada decisión depende de requisitos específicos (latencia, presupuesto, privacidad) y debe estar justificada con datos."


Conclusión de la Guía Completa

Felicidades por completar AI Semantics: Vectores, Embeddings y Búsqueda Semántica. 🎉🎉🎉

Tu viaje:

  1. Módulo 1: Vectores (conceptos, visualización, operaciones)
  2. Módulo 2: Espacios vectoriales (bases, dimensiones, normalización)
  3. Módulo 3: Similaridad y distancia (Euclidean, coseno)
  4. Módulo 4: Búsqueda por proximidad (kNN, ANN, HNSW, IVF)
  5. Módulo 5: Keyword vs semantic search (comparación, híbrido)
  6. Módulo 6: Diseño de sistemas de búsqueda (arquitectura, ranking)
  7. Módulo 7: RAG y semantic search (problema, arquitectura, limitaciones)
  8. Módulo 8: Proyecto final (diseño completo end-to-end)

Intuición máster:

"Semantic search es la aplicación práctica de álgebra lineal (vectores, coseno) + estructuras de datos (HNSW, IVF) + ML (embeddings) para buscar por significado en lugar de palabras. RAG conecta semantic search con LLMs para eliminar hallucinations. Todo sistema RAG en producción es un balance de decisiones: precision vs latencia vs costo, guiado por requisitos específicos."


Próximos pasos:

  1. Implementar un sistema RAG pequeño (10 documentos) para validar conceptos
  2. Tomar guía de Vector Databases (implementación técnica con código)
  3. Tomar guía de Embeddings Deep Dive (fine-tuning, evaluación)

¡Gracias por tu tiempo y dedicación! 🚀