Topología de la solución
Cómo la solución .NET separa orquestación, API, worker, servicios core y pruebas.
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 testsCó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:
RAG.Apiacepta la entrada del usuario y devuelve resultados.RAG.Workerejecuta el trabajo lento de ingesta fuera de la ruta de solicitudes.RAG.Corecontiene lógica reutilizable y contratos.RAG.AppHostconecta la infraestructura local.
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.