Resumen
En este módulo, ha aprendido a implementar funcionalidades de búsqueda vectorial mediante la extensión pgvector en Azure Database for PostgreSQL. Para empezar, habilite la extensión y el diseño de esquemas con columnas vectoriales para almacenar incrustaciones de diferentes modelos, entendiendo cómo afecta el tamaño de dimensión al almacenamiento y al rendimiento. Ha explorado los tres operadores de distancia (distancia euclidiana, distancia coseno y producto interno) y ha aprendido cuándo aplicar cada uno en función del modelo de inserción y el caso de uso.
También ha aprendido a crear índices vectoriales mediante algoritmos IVFFlat y HNSW para transformar escaneos secuenciales costosos en búsquedas rápidas de los vecinos más cercanos. Ha descubierto que IVFFlat requiere datos existentes antes de la creación del índice y usa los parámetros listas y probes para equilibrar la velocidad y el recall, mientras que HNSW puede indexar los datos de forma incremental y ofrece un mejor recall con los parámetros m, ef_construction y ef_search. Ha aprendido a verificar el uso de índices con EXPLAIN ANALYZE y a emparejar las clases de operadores con los operadores a distancia.
Además, ha explorado las estrategias de administración del ciclo de vida de los índices, incluida la supervisión del estado del índice con pg_stat_user_indexes, la determinación de cuándo volver a generar índices después de cambios significativos en los datos y el control de migraciones de modelos de inserción que requieren actualizar todos los vectores. Ha implementado patrones de recuperación semántica que combinan la similitud vectorial con el filtrado de metadatos, los umbrales de distancia y las consultas multi vector. Por último, ha diseñado esquemas de canalización RAG que separan los documentos de origen de los fragmentos, lo que permite la recuperación de contexto con metadatos de cita completos para aplicaciones LLM.