Almacenes de Vectores
Esta guía te ayudará a entender cómo usar el Almacén de Vectores Rememberizer como desarrollador.
El Almacén de Vectores de Rememberizer simplifica el proceso de manejo de datos vectoriales, permitiéndote concentrarte en la entrada de texto y aprovechando el poder de los vectores para diversas aplicaciones como la búsqueda y el análisis de datos.
Introducción
El Almacén de Vectores Rememberizer proporciona una interfaz fácil de usar para manejar datos vectoriales mientras abstrae la complejidad de las incrustaciones vectoriales. Impulsado por PostgreSQL con la extensión pgvector, el Almacén de Vectores Rememberizer te permite trabajar directamente con texto. El servicio se encarga de dividir, vectorizar y almacenar los datos de texto, facilitándote el enfoque en la lógica central de tu aplicación.
Para una comprensión más profunda de los conceptos teóricos detrás de las incrustaciones vectoriales y las bases de datos vectoriales, consulta ¿Qué son las Incrustaciones Vectoriales y las Bases de Datos Vectoriales?.
Visión Técnica
Cómo Funcionan los Almacenes de Vectores
Los Almacenes de Vectores de Rememberizer convierten texto en representaciones vectoriales de alta dimensión (embeddings) que capturan el significado semántico. Esto permite:
Búsqueda Semántica: Encontrar documentos basados en el significado en lugar de solo palabras clave
Coincidencia de Similitud: Identificar contenido conceptualmente relacionado
Recuperación Eficiente: Localizar rápidamente información relevante de grandes conjuntos de datos
Componentes Clave
Procesamiento de Documentos: El texto se divide en fragmentos de tamaño óptimo con límites superpuestos para la preservación del contexto
Vectorización: Los fragmentos se convierten en incrustaciones utilizando modelos de última generación
Indexación: Algoritmos especializados organizan vectores para una búsqueda de similitud eficiente
Procesamiento de Consultas: Las consultas de búsqueda se vectorizan y se comparan con las incrustaciones almacenadas
Arquitectura
Rememberizer implementa almacenes de vectores utilizando:
PostgreSQL con la extensión pgvector: Para almacenamiento y búsqueda de vectores eficientes
Organización basada en colecciones: Cada almacén de vectores tiene su propia colección aislada
Acceso impulsado por API: Puntos finales RESTful simples para todas las operaciones
Empezando
Creando un Almacén de Vectores
Navega a la Sección de Almacenes de Vectores en tu panel de control
Haz clic en "Crear nuevo Almacén de Vectores":
Aparecerá un formulario que te pedirá que ingreses detalles.
Completa los Detalles:
Nombre: Proporciona un nombre único para tu almacén de vectores.
Descripción: Escribe una breve descripción del almacén de vectores.
Modelo de Embedding: Selecciona el modelo que convierte texto en vectores.
Algoritmo de Indexación: Elige cómo se organizarán los vectores para la búsqueda.
Métrica de Búsqueda: Define cómo se calcula la similitud entre vectores.
Dimensión del Vector: El tamaño de las incrustaciones de vectores (típicamente 768-1536).
Envía el Formulario:
Haz clic en el botón "Crear". Recibirás una notificación de éxito, y el nuevo almacén aparecerá en tu lista de almacenes de vectores.
Opciones de Configuración
Modelos de Embedding
openai/text-embedding-3-large
1536
Modelo de embedding de alta precisión de OpenAI
Aplicaciones de producción que requieren la máxima precisión
openai/text-embedding-3-small
1536
Modelo de embedding más pequeño y rápido de OpenAI
Aplicaciones con mayores requisitos de rendimiento
Algoritmos de Indexación
IVFFLAT (predeterminado)
Archivo invertido con compresión plana
Buen equilibrio entre velocidad y precisión; funciona bien para la mayoría de los conjuntos de datos
HNSW
Mundo Pequeño Navegable Jerárquico
Mejor precisión para conjuntos de datos grandes; mayores requisitos de memoria
Métricas de Búsqueda
coseno (predeterminado)
Mide el ángulo entre vectores
Coincidencia de similitud de propósito general
producto interno (ip)
Producto punto entre vectores
Cuando la magnitud del vector es importante
L2 (Euclidiana)
Distancia en línea recta entre vectores
Cuando las relaciones espaciales son importantes
Gestión de Almacenes de Vectores
Ver y Editar Almacenes de Vectores:
Accede al panel de gestión para ver, editar o eliminar almacenes de vectores.
Visualización de Documentos:
Navega por documentos individuales y su metadatos asociados dentro de un almacén de vectores específico.
Estadísticas:
Visualiza estadísticas detalladas como el número de vectores almacenados, el rendimiento de las consultas y métricas operativas.
Gestión de Claves API
Las claves API se utilizan para autenticar y autorizar el acceso a los puntos finales de la API del Almacén de Vectores de Rememberizer. La gestión adecuada de las claves API es esencial para mantener la seguridad y la integridad de sus almacenes de vectores.
Creando Claves API
Dirígete a la página de detalles de tu Almacén de Vectores
Navega a la Sección de Gestión de Claves API:
Se puede encontrar dentro de la pestaña "Configuración"
Haz clic en "Agregar Clave API":
Aparecerá un formulario que te pedirá que ingreses los detalles.
Completa los Detalles:
Nombre: Proporciona un nombre para la clave API que te ayude a identificar su caso de uso.
Envía el Formulario:
Haz clic en el botón "Crear". La nueva clave API será generada y mostrada. Asegúrate de copiarla y almacenarla de forma segura. Esta clave se utiliza para autenticar solicitudes a ese almacén de vectores específico.
Revocación de Claves API
Si una clave API ya no es necesaria, puedes eliminarla para prevenir cualquier posible uso indebido.
Por razones de seguridad, es posible que desees rotar tus claves API periódicamente. Esto implica generar una nueva clave y revocar la antigua.
Uso de la API de Vector Store
Después de crear un Vector Store y generar una clave API, puedes interactuar con él utilizando la API REST.
Ejemplos de Código
```ruby require 'net/http' require 'uri' require 'json'
class VectorStoreClient def initialize(api_key, vector_store_id) @api_key = api_key @vector_store_id = vector_store_id @base_url = 'https://api.rememberizer.ai/api/v1' end
Obtener detalles del almacén de vectores
def get_vector_store_info uri = URI("#{@base_url}/vector-stores/#{@vector_store_id}") request = Net::HTTP::Get.new(uri) request['x-api-key'] = @api_key
end
Subir contenido de texto
def upload_text(name, content) uri = URI("#{@base_url}/vector-stores/#{@vector_store_id}/documents/text") request = Net::HTTP::Post.new(uri) request['Content-Type'] = 'application/json' request['x-api-key'] = @api_key
end
Buscar documentos
def search(query, num_results: 5, prev_chunks: 1, next_chunks: 1, threshold: nil) uri = URI("#{@base_url}/vector-stores/#{@vector_store_id}/documents/search") params = { q: query, n: num_results, prev_chunks: prev_chunks, next_chunks: next_chunks }
end
Listar documentos
def list_documents uri = URI("#{@base_url}/vector-stores/#{@vector_store_id}/documents") request = Net::HTTP::Get.new(uri) request['x-api-key'] = @api_key
end
Subir archivo (formulario multipart)
def upload_file(file_path) uri = URI("#{@base_url}/vector-stores/#{@vector_store_id}/documents")
end
private
def send_request(uri, request) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = (uri.scheme == 'https')
end end
{% endtab %}
{% tab title="cURL" %}
{% endtab %} {% endtabs %}
Consideraciones de Rendimiento
Próximamente: Diagrama de Arquitectura de Almacenamiento de Vectores
Este diagrama de arquitectura técnica ilustrará:
La arquitectura de base de PostgreSQL + pgvector
Estructuras de algoritmos de indexación (IVFFLAT vs. HNSW)
Cómo funcionan las métricas de búsqueda en el espacio vectorial (comparación visual)
Proceso de fragmentación de documentos con visualización de superposición
Consideraciones de rendimiento visualizadas a través de diferentes escalas
Optimización para Diferentes Volúmenes de Datos
Pequeño (<10k documentos)
IVFFLAT, similitud coseno
La configuración simple proporciona un buen rendimiento
Medio (10k-100k documentos)
IVFFLAT, asegurar reindexación regular
Equilibrio entre velocidad de búsqueda y mantenimiento del índice
Grande (>100k documentos)
HNSW, considerar aumentar las dimensiones del vector
Mayor uso de memoria pero mantiene el rendimiento a gran escala
Estrategias de Fragmentación
El proceso de fragmentación impacta significativamente la calidad de búsqueda:
Tamaño del Fragmento: Rememberizer utiliza un tamaño de fragmento predeterminado de 1024 bytes con una superposición de 200 bytes
Fragmentos Más Pequeños (512-1024 bytes): Coincidencias más precisas, mejor para preguntas específicas
Fragmentos Más Grandes (1500-2048 bytes): Más contexto en cada coincidencia, mejor para temas más amplios
Superposición: Asegura que el contexto no se pierda en los límites de los fragmentos
Optimización de Consultas
Ventanas de Contexto: Utiliza
prev_chunksynext_chunkspara recuperar contenido circundanteCantidad de Resultados: Comienza con 3-5 resultados (
nparameter) y ajusta según las necesidades de precisiónUmbral: Ajusta el parámetro
tpara filtrar resultados por puntuación de similitud
Uso Avanzado
Reindexación
Rememberizer activa automáticamente la reindexación cuando los recuentos de vectores superan los umbrales predefinidos, pero considere la reindexación manual después de:
Subir una gran cantidad de documentos
Cambiar el modelo de incrustación
Modificar el algoritmo de indexación
Mejora de Consultas
Para obtener mejores resultados de búsqueda:
Sé específico en las consultas de búsqueda
Incluye contexto cuando sea posible
Usa lenguaje natural en lugar de palabras clave
Ajusta los parámetros según la calidad del resultado
Migrando desde Otras Bases de Datos Vectoriales
Si actualmente estás utilizando otras soluciones de bases de datos vectoriales y deseas migrar a Rememberizer Vector Store, las siguientes guías te ayudarán a transferir tus datos de manera eficiente.
Visión general de la migración
Migrar datos vectoriales implica:
Exportar datos de su base de datos vectorial de origen
Convertir los datos a un formato compatible con Rememberizer
Importar los datos en su Almacén Vectorial de Rememberizer
Verificar que la migración fue exitosa
Beneficios de Migrar a Rememberizer
Fundación PostgreSQL: Construido sobre tecnología de base de datos madura con copias de seguridad y recuperación integradas
Ecosistema Integrado: Conexión fluida con otros componentes de Rememberizer
Gestión Simplificada: Interfaz unificada para operaciones vectoriales
Seguridad Avanzada: Seguridad a nivel de fila y controles de acceso granulares
Arquitectura Escalable: Optimización del rendimiento a medida que crece su datos
Migrando de Pinecone
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="Node.js" %}
{% endtab %} {% endtabs %}
Migrando desde Qdrant
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="Node.js" %}
{% endtab %} {% endtabs %}
Migrando de Supabase pgvector
Si ya estás utilizando Supabase con pgvector, la migración a Rememberizer es particularmente sencilla ya que ambos utilizan PostgreSQL con la extensión pgvector.
{% tabs %} {% tab title="Python" %}
{% endtab %}
{% tab title="Node.js" %}
Mejores Prácticas de Migración
Sigue estas recomendaciones para una migración exitosa:
Planifica con Anticipación:
Estima el volumen de datos y el tiempo requerido para la migración
Programa la migración durante períodos de baja actividad
Aumenta el espacio en disco antes de comenzar migraciones grandes
Prueba Primero:
Crea un almacén de vectores de prueba en Rememberizer
Migra un pequeño subconjunto de datos (100-1000 vectores)
Verifica la funcionalidad de búsqueda con consultas clave
Validación de Datos:
Compara el conteo de documentos antes y después de la migración
Ejecuta consultas de referencia para asegurar resultados similares
Valida que los metadatos se conserven correctamente
Optimiza para el Rendimiento:
Utiliza operaciones por lotes para mayor eficiencia
Considera la colocación geográfica de las bases de datos de origen y destino
Monitorea los límites de tasa de la API y ajusta los tamaños de los lotes en consecuencia
Pasos Post-Migración:
Verifica la creación del índice en Rememberizer
Actualiza las configuraciones de la aplicación para apuntar al nuevo almacén de vectores
Mantén la base de datos de origen como respaldo hasta que la migración sea verificada
Para referencia detallada de la API y documentación de puntos finales, visita la página de vector-store.
Asegúrate de manejar las claves de API de manera segura y seguir las mejores prácticas para la gestión de claves de API.
Last updated