Saltearse al contenido

PGVector

El componente PGVector permite a los usuarios de Nappai guardar y recuperar documentos de forma inteligente usando la base de datos PostgreSQL con la extensión PGVector. Con él, puedes convertir textos en vectores, guardarlos en una tabla y luego buscar los más similares a una consulta dada, todo sin salir del dashboard.

¿Cómo funciona?

El componente se conecta a tu servidor PostgreSQL mediante la URL de conexión que has guardado en la credencial Postgres SQL. Cuando añades documentos, el componente convierte cada uno en un vector usando la Embedding que le pases y los almacena en la tabla especificada. Para buscar, simplemente envías una consulta de texto y el componente devuelve los documentos cuyo vector sea más cercano al vector de la consulta, usando la distancia de similitud interna de PGVector.

Operaciones

Este componente ofrece varias operaciones que puedes seleccionar según lo que necesites hacer. Solo puedes usar una operación a la vez:

  • Add: Añade nuevos documentos al vector store. Si la tabla no existe, se crea automáticamente.
  • Search: Busca los documentos más similares a una consulta de texto y devuelve los resultados.
  • Retriever: Devuelve un objeto Retriever que puedes usar en flujos de trabajo más complejos para obtener documentos de forma programática.

Para usar el componente, primero selecciona la operación que necesitas en el campo “Operation” (Operación).

Entradas

Campos de Entrada

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Embedding: Convierte textos en vectores que se guardan en la base de datos.

    • Visible en: Add, Search, Retriever
  • Ingest Data: Lista de documentos que quieres añadir al vector store.

    • Visible en: Add
  • Operation: Selecciona la operación que quieres ejecutar (Add, Search, Retriever).

    • Visible en: Add, Search, Retriever
  • Table: Nombre de la tabla en PostgreSQL donde se guardarán los vectores.

    • Visible en: Add, Search, Retriever
  • Number of Results: Número de documentos que quieres que se devuelvan en una búsqueda.

    • Visible en: Add, Search, Retriever
  • Search Query: Texto que quieres usar para buscar documentos similares. Si lo dejas vacío, se devolverán todos los documentos.

    • Visible en: Search

Nota sobre credenciales
Este componente necesita una credencial de tipo Postgres SQL.

  1. Configura primero la credencial en la sección de credenciales de Nappai.
  2. Luego selecciona esa credencial en el campo Credential del componente.
    Los datos de la credencial (URL de conexión, usuario, contraseña) no aparecen en la lista de entradas.

Salidas

  • Retriever: Un objeto que permite recuperar documentos de forma programática dentro de flujos de trabajo.
  • Results: Lista de documentos encontrados en una búsqueda.
  • Vector Store: El objeto PGVector que representa la conexión al vector store, útil si quieres usarlo en otras operaciones.

Ejemplo de Uso

Operación Add

  1. Selecciona Add en el campo Operation.
  2. En Embedding, elige el modelo de embeddings que prefieras (por ejemplo, OpenAI Embeddings).
  3. En Ingest Data, carga los documentos que quieres indexar (puedes arrastrar archivos o usar la salida de otro componente).
  4. Especifica el nombre de la tabla en Table (ej. my_documents).
  5. Haz clic en Run. El componente creará la tabla si no existe y guardará los vectores.
  1. Selecciona Search en el campo Operation.
  2. En Embedding, elige el mismo modelo que usaste al añadir.
  3. En Search Query, escribe la frase que quieres buscar (ej. “cómo automatizar procesos”).
  4. Ajusta Number of Results si quieres más o menos documentos.
  5. Haz clic en Run. Los resultados aparecerán en la salida Results y podrás usarlos en otro componente, por ejemplo, para mostrar un resumen.

Componentes Relacionados

  • Chroma Vector Store – Almacena vectores en una base de datos local.
  • FAISS Vector Store – Usa la librería FAISS para búsquedas rápidas en memoria.
  • OpenAI Embeddings – Genera embeddings de texto con la API de OpenAI.
  • Retriever – Permite combinar múltiples fuentes de datos en un flujo de trabajo.

Consejos y Mejores Prácticas

  • Usa la misma Embedding: Para obtener resultados coherentes, utiliza el mismo modelo de embeddings tanto al añadir como al buscar.
  • Limita el número de resultados: Si tu tabla es grande, reduce Number of Results para acelerar la búsqueda.
  • Revisa la tabla: Si notas que los resultados no son relevantes, verifica que la tabla esté correctamente poblada y que los documentos no contengan errores de formato.
  • Seguridad: Mantén la credencial de PostgreSQL en un lugar seguro y no la compartas públicamente.

Consideraciones de Seguridad

  • La credencial Postgres SQL contiene la URL de conexión, usuario y contraseña. Asegúrate de que solo los usuarios autorizados tengan acceso a esta credencial.
  • Evita exponer la URL de conexión en los flujos de trabajo; siempre usa la credencial preconfigurada.
  • Si compartes el dashboard con otros usuarios, revisa los permisos de acceso a la tabla de PostgreSQL para evitar lecturas o escrituras no autorizadas.