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:
- Búsqueda semántica conceptual ("papers sobre deep learning")
- Búsqueda exacta por metadata (autor, año, departamento)
- Q&A con LLM ("¿Qué metodología usa el paper de Smith?")
- Sugerencia de papers relacionados con diversidad (MMR)
- Filtros avanzados (año, departamento, tipo)
No funcionales:
- Latencia < 2s (p95)
- Costo < $2000/mes
- Escalable a 200K documentos
- Uptime 99.5% (SLA)
Restricciones:
- Datos privados (embeddings deben ser locales)
- Presupuesto limitado ($2000/mes)
- 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:
| Componente | Tecnología |
|---|---|
| Text extraction | PyPDF2, pandoc, python-docx |
| Chunking | LangChain RecursiveCharacterTextSplitter |
| Embeddings | Sentence-BERT (all-mpnet-base-v2, 768D) |
| Vector DB | Weaviate (self-hosted, HNSW) |
| LLM | OpenAI GPT-3.5 Turbo |
| API | FastAPI (AWS Lambda) |
| Orchestration | Airflow (re-indexación periódica) |
| Infrastructure | AWS (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ía | Costo/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:
- Precision@10: > 0.75 (75% de top-10 relevantes)
- NDCG@20: > 0.70 (calidad del ranking)
- Diversity: ≥ 3 departamentos en top-20
- 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:
- Calidad de embeddings locales (-6% vs OpenAI) → Mitigado con hybrid search + posible reranking
- 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:
- ✅ Analizaste requisitos y restricciones (funcionales, no funcionales)
- ✅ Diseñaste arquitectura completa (componentes, flujos, stack)
- ✅ Tomaste decisiones técnicas justificadas (chunking, embeddings, ranking)
- ✅ Estimaste costos ($570/mes, 71% bajo presupuesto)
- ✅ Identificaste trade-offs (calidad vs latencia vs costo)
- ✅ 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:
- Módulo 1: Vectores (conceptos, visualización, operaciones)
- Módulo 2: Espacios vectoriales (bases, dimensiones, normalización)
- Módulo 3: Similaridad y distancia (Euclidean, coseno)
- Módulo 4: Búsqueda por proximidad (kNN, ANN, HNSW, IVF)
- Módulo 5: Keyword vs semantic search (comparación, híbrido)
- Módulo 6: Diseño de sistemas de búsqueda (arquitectura, ranking)
- Módulo 7: RAG y semantic search (problema, arquitectura, limitaciones)
- 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:
- Implementar un sistema RAG pequeño (10 documentos) para validar conceptos
- Tomar guía de Vector Databases (implementación técnica con código)
- Tomar guía de Embeddings Deep Dive (fine-tuning, evaluación)
¡Gracias por tu tiempo y dedicación! 🚀