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 14

Pruebas del pipeline

Las pruebas son intencionalmente enfocadas, no exhaustivas.

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 Pruebas del pipeline
Ejecuta la suite de pruebas desde la raíz del repo
dotnet test RAGPipeline.sln

Las pruebas son intencionalmente enfocadas, no exhaustivas.

TextChunkerTests verifica tamaño de chunks y comportamiento de overlap.

AiProviderRegistrationTests verifica la selección de proveedor mediante configuración.

ChatAnswerServiceTests verifica:

Evaluación con preguntas doradas

RAG.Tests/Evaluation/RagEvaluationTests.cs es un pequeño harness de evaluación RAG. Usa embeddings, búsqueda vectorial y chat completion falsos y deterministas para correr en pruebas unitarias normales sin Docker, Qdrant, Ollama, Gemini ni acceso de red.

Los casos dorados revisan recuperación factual directa, recuperación literaria amplia, comparación entre documentos, restricciones de documentos seleccionados, manejo sin evidencia y etiquetado de citas de artefactos generados. Las aserciones se enfocan en contexto seleccionado y tipos de cita porque esas son las partes que una prueba determinista puede juzgar de forma confiable.

public sealed record RagEvaluationCase(
    string Name,
    string Question,
    IReadOnlyList<Guid>? DocumentIds,
    IReadOnlyList<string> ExpectedFileNames,
    IReadOnlyList<string> ExpectedTermsInSelectedContext,
    bool RequiresSourceCitation,
    bool AllowsGeneratedArtifactCitation);

Esto no reemplaza revisión humana de calidad de respuesta, pero da al proyecto una suite de regresión para comportamiento de recuperación. Es un paso grande más allá de probar manualmente "hazle unas preguntas".

Pruebas adicionales de puntos de extensión para producción

DatabaseIngestionWorkSourceTests, DocumentManagementServiceTests, HeuristicRetrievalRerankerTests y QdrantVectorStoreTests cubren los nuevos puntos de extensión para reemplazo de polling, transiciones de estado de borrar/reindexar, reranking heurístico y procedencia de payload vectorial.

Ejecuta pruebas con:

dotnet test RAGPipeline.sln

El proyecto también se beneficia de pruebas manuales porque el comportamiento RAG depende de documentos reales, salida del modelo y calidad de búsqueda vectorial.

Revisiones manuales recomendadas:

  1. Sube un archivo TXT corto.
  2. Sube un libro en PDF.
  3. Confirma que el progreso avanza por las etapas de ingesta.
  4. Haz una pregunta directa sobre un documento.
  5. Haz una pregunta amplia sobre personajes.
  6. Haz una pregunta comparativa entre documentos.
  7. Confirma que las citas referencian los documentos esperados.