Inicio de la guía 1. Topología de la solución 2. Aspire como plano de control local 3. Configuración y contratos compartidos 4. Metadatos con SQLite y EF Core 5. API e interfaz de carga 6. Almacenamiento de objetos con MinIO 7. Pipeline de ingesta del worker 8. Extracción y división de texto 9. Artefactos literarios 10. Abstracciones de proveedores de IA 11. Almacenamiento vectorial con Qdrant 12. Flujo de preguntas y recuperación 13. Prompts y citas 14. Pruebas del pipeline 15. Notas de desarrollo local Todas las guías
Navegación de la guíaÍndice y capítulos
Capítulo 1

Topología de la solución

Cómo la solución .NET separa orquestación, API, worker, servicios core y pruebas.

Nota de traducción: Esta versión en español fue traducida con ayuda de un LLM y revisada para conservar los términos técnicos, el código y los nombres de archivos en inglés cuando corresponde.
Imagen decorativa del capítulo sobre Topología de la solución
El mapa del proyecto del tutorial
RAG.AppHost   Aspire orchestration
RAG.Api       ASP.NET Core API + static UI
RAG.Worker    background ingestion loop
RAG.Core      shared domain, providers, storage, vector, EF Core
RAG.Tests     focused unit tests

Cómo la solución .NET separa orquestación, API, worker, servicios core y pruebas.

RAG.AppHost   Aspire orchestration
RAG.Api       ASP.NET Core API + static UI
RAG.Worker    background ingestion loop
RAG.Core      shared domain, providers, storage, vector, EF Core
RAG.Tests     focused unit tests

Esta forma es útil porque cada proyecto tiene una responsabilidad clara:

El usuario sube un documento a la API, pero la API no procesa el libro de inmediato. Guarda el archivo, crea un registro de metadatos y responde rápido. Más tarde, el worker toma documentos pendientes y ejecuta extracción, enriquecimiento, división en chunks, embeddings e indexación vectorial.

Ese workflow asíncrono importa porque crear embeddings para un PDF grande puede tomar minutos. Bloquear la solicitud de carga hasta que todos los vectores estén creados produciría timeouts y una mala experiencia de usuario.