Supabase Vector Store
El Supabase Vector Store permite guardar documentos y buscarlos rápidamente usando vectores de similitud.
Conecta tu flujo de trabajo de Nappai a una base de datos Supabase y aprovecha la potencia de los embeddings para encontrar la información más relevante.
¿Cómo funciona?
Cuando lo añades a tu dashboard, el componente crea una conexión con tu base de datos Supabase usando la URL y la clave de servicio que ya has configurado en la sección de credenciales de Nappai.
- Ingesta: Si le das documentos a través del campo Ingest Data, los convierte en vectores con el Embedding que elijas y los guarda en la tabla indicada.
- Búsqueda: Con la operación Search puedes introducir una frase en Search Query y el componente devuelve los documentos más similares (por defecto 4).
- Retriever: Si necesitas un objeto que pueda ser usado directamente por un modelo de IA, la operación Retriever devuelve un retriever listo para usar.
El proceso interno se basa en la librería langchain
y su clase SupabaseVectorStore
, que se encarga de la indexación y la búsqueda de similitud.
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 documentos a la tabla de Supabase.
- Search: Busca documentos similares a una consulta de texto.
- Retriever: Devuelve un retriever que puede ser usado por un modelo de IA para obtener respuestas basadas en los documentos almacenados.
Para usar el componente, primero selecciona la operación que necesitas en el campo Operation (Operación).
Entradas
Antes de usar el componente, asegúrate de haber configurado una credencial Supabase API en la sección de credenciales de Nappai y seleccionarla en el campo Credential del componente.
Campos de Entrada
-
Embedding: Define el modelo de embeddings que se usará para convertir los textos en vectores.
- Visible en: Add, Search, Retriever
-
Ingest Data: Lista de documentos que quieres almacenar en la base de datos.
- Visible en: Add
-
Operation: Selecciona la operación que quieres ejecutar (Add, Search, Retriever).
- Visible en: Add, Search, Retriever
-
Number of Results: Número de documentos que quieres que devuelva la búsqueda.
- Visible en: Add, Search, Retriever
-
Query Name: Nombre de la consulta que se usará para la búsqueda en Supabase.
- Visible en: Add, Search, Retriever
-
Search Query: Texto que quieres buscar. Si lo dejas vacío, se recuperarán todos los documentos.
- Visible en: Search
-
Table Name: Nombre de la tabla en Supabase donde se guardarán los vectores.
- Visible en: Add, Search, Retriever
Salidas
- Retriever: Un objeto que puede ser usado por un modelo de IA para obtener respuestas basadas en los documentos almacenados.
- Results: Lista de documentos que coinciden con la búsqueda.
- Vector Store: La instancia completa del vector store, útil si quieres usarla en otras partes del flujo.
Ejemplo de Uso
-
Agregar documentos
- Selecciona la operación Add.
- Conecta tu modelo de embeddings en Embedding.
- Arrastra los documentos que quieres almacenar al campo Ingest Data.
- Configura Table Name y Query Name según tu esquema.
- Haz clic en Run y el componente guardará los vectores en Supabase.
-
Buscar documentos
- Cambia la operación a Search.
- Escribe una frase en Search Query (por ejemplo, “manual de usuario”).
- Ajusta Number of Results si quieres más o menos resultados.
- Ejecuta el flujo y obtendrás los documentos más relevantes en la salida Results.
-
Usar un retriever
- Selecciona la operación Retriever.
- Conecta el Embedding y la tabla.
- La salida Retriever puede ser conectada directamente a un modelo de IA para generar respuestas basadas en los documentos almacenados.
Componentes Relacionados
- Supabase Vector Store: El mismo componente, útil para almacenar y buscar documentos.
- Embeddings: Modelos que convierten texto en vectores; puedes usar cualquier modelo compatible con LangChain.
- Retriever: Objeto que facilita la recuperación de documentos para modelos de IA.
Consejos y Mejores Prácticas
- Organiza tus tablas: Usa una tabla por dominio de conocimiento para evitar confusiones.
- Actualiza embeddings: Si cambias el modelo de embeddings, vuelve a ejecutar la operación Add para reindexar los documentos.
- Limita el número de resultados: Un valor alto puede ralentizar la búsqueda; ajusta Number of Results según la necesidad.
- Revisa la credencial: Asegúrate de que la credencial Supabase API esté activa y tenga permisos de lectura/escritura en la tabla.
Consideraciones de Seguridad
- La credencial Supabase API contiene la clave de servicio; no la compartas públicamente.
- Asegúrate de que la tabla de Supabase tenga los permisos adecuados (solo lectura/escritura según la operación).
- Si manejas datos sensibles, considera cifrar los documentos antes de enviarlos al vector store.