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 11

Almacenamiento vectorial con Qdrant

RAG.Core/Services/QdrantVectorStore.cs controla la interacción con Qdrant.

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 Almacenamiento vectorial con Qdrant
Cada vector lleva payload de cita
new Dictionary<string, object?>
{
    ["documentId"] = chunk.Chunk.DocumentId.ToString(),
    ["fileName"] = chunk.Chunk.FileName,
    ["chunkIndex"] = chunk.Chunk.ChunkIndex,
    ["text"] = chunk.Chunk.Text,
    ["chunkType"] = chunk.Chunk.ChunkType
}

RAG.Core/Services/QdrantVectorStore.cs controla la interacción con Qdrant.

Cada punto guarda:

El endpoint de búsqueda vectorial devuelve chunks y payloads coincidentes. Los payloads se convierten en citas, diagnósticos y contexto para el LLM. Preservar la procedencia en Qdrant permite que un perfil generado de club de lectura sobreviva el recorrido de ingesta a recuperación y renderizado de citas sin confundirse con texto fuente.

El store también soporta dos helpers de recuperación no vectorial:

Existen porque la búsqueda vectorial no siempre alcanza. Si un usuario hace una pregunta comparativa con personajes nombrados, una búsqueda exacta por nombre puede asegurar que cada sujeto nombrado aporte evidencia.

Así es como el proyecto maneja preguntas como:

Can you find any similarities between Calpurnia and Hermione?

La recuperación semántica top-k pura puede enfocarse demasiado en un solo libro. La ruta mejorada de recuperación combina búsqueda semántica, chunks de perfiles y chunks con nombres exactos.

El almacén vectorial también tiene una operación de borrado por documento. Reindexación y eliminación llaman a DeleteDocumentAsync para que puntos vectoriales antiguos no permanezcan después de cambios en datos derivados o cuando un usuario elimina un documento.