En este tutorial, demostraremos cómo aprovechar el poder de las capacidades de búsqueda vectorial en Couchbase con la plataforma de automatización de flujos de trabajo de n8n. Construiremos un sencillo flujo de trabajo de agencia de viajes que recomiende destinos vacacionales en función de las consultas de los usuarios, utilizando incrustaciones vectoriales para proporcionar resultados contextualmente relevantes.
Introducción
La búsqueda vectorial permite realizar búsquedas basadas en similitudes semánticas en lugar de en coincidencias exactas. El nodo Couchbase Search Vector en n8n permite realizar operaciones de búsqueda vectorial utilizando el servicio de búsqueda de Couchbase, soportando la recuperación, actualización e inserción de documentos en una base de datos vectorial.
En este tutorial, vamos a:
-
- Configurar un clúster Couchbase Capella
- Configurar el cubo, el ámbito y la colección necesarios
- Crear un índice de búsqueda para la búsqueda vectorial
- Cree un flujo de trabajo n8n con ingestión de datos y funciones de chat
- Pruebe nuestra sencilla agencia de viajes
Requisitos previos
-
- Una instancia autoalojada de n8n
- El paquete de nodos comunitarios n8n-nodes-couchbase instalado en su instancia n8n
- Información sobre la instalación de nodos comunitarios aquí
- Una cuenta Couchbase Capella (el nivel gratuito es suficiente)
- Claves API para OpenAI y Gemini (para incrustaciones y funciones LLM)
Paso 1: Despliegue de un clúster Couchbase
Empecemos desplegando un cluster en la capa gratuita de Couchbase Capella, aunque cualquier tipo de cluster con el servicio de búsqueda funcionará.
-
- Entrar en Couchbase Capellao Regístrese para obtener una cuenta Couchbase Capella
- Despliegue de un clúster operativo
- La agrupación debe tener activado el servicio de búsqueda
Paso 2: Configure su base de datos Couchbase
-
- Crear un cubo llamado agente de viajes
- Crear un ámbito dentro de los vectores llamados travel-agent
- Dentro de ese ámbito, crear una colección puntos de interés
Paso 3: Crear un índice de búsqueda
Paso 4: Configurar el acceso al clúster
-
- Crear credenciales de acceso al clúster
- Configurar las direcciones IP permitidas
- Debe permitir que la dirección IP de la máquina que ejecuta n8n
- Puede permitir el acceso desde cualquier lugar con fines de prueba, pero no debe utilizarse en situaciones de producción.
Paso 5: Trabajar con el flujo de trabajo del n8n
Se proporciona una plantilla del flujo de trabajo aquí. Nuestro flujo de trabajo n8n consta de dos componentes principales:
Flujo de trabajo de ingestión de datos
-
- Nodo Webhook (para escuchar peticiones HTTP)
- Nodo OpenAI Embeddings (para generar incrustaciones al insertar un documento)
- Nota: Tendrá que configurar Credenciales de OpenAI para este nodo
- Nodo Couchbase Vector (configurado para la inserción de documentos)
- Cargador de datos por defecto y divisor de texto de caracteres recursivo
Flujo de trabajo de la aplicación de chat
-
- Nodo Chat Trigger
- El nodo AI Tools Agent se conecta a:
- Gemini (como modelo de chat, para generar respuestas)
- Nota: Tendrá que configurar Credenciales de Géminis para este nodo
- Memoria simple (como la Memoria, para mantener el contexto de la conversación)
- Nodo Couchbase Search Vector (como la herramienta, para la búsqueda)
- Nodo OpenAI Embeddings (como modelo Embedding para el nodo Couchbase Search Vector, para convertir consultas en vectores)
- Nota: Tendrá que configurar Credenciales de OpenAI para este nodo
- Gemini (como modelo de chat, para generar respuestas)
Paso 6: Configurar los nodos vectoriales de Couchbase
-
- Crear una nueva credencial Couchbase con:
- Cadena de conexión (desde la pestaña "Conectar" de Capella)
- El nombre de usuario y la contraseña de las credenciales de acceso al clúster (creadas en el paso 4)
- Para ambos nodos de Couchbase Vector, configure los ajustes del nodo:
- Cubo: travel-agent
- Ámbito: vectores
- Colección: puntos de interés
- Índice: poi-index
- Crear una nueva credencial Couchbase con:
Paso 7: Ingesta de datos de muestra
Ingeriremos datos de destinos de viaje de muestra con descripciones utilizando un script de shell proporcionado.
-
- Guardar y activar su flujo de trabajo
- Copie la URL del webhook de producción
- Descargar el script de shell proporcionadoy ejecútelo para insertar algunos puntos de interés:
1 2 3 4 5 |
# permitir la ejecución del script chmod +x ./cargar_poi.sh # ejecute el script, sustituyendo por la URL del webhook de producción en su flujo de trabajo ./cargar_poi.sh <webhook-url> |
El script creará incrustaciones para cada descripción de destino y las almacenará en Couchbase con sus representaciones vectoriales.
Paso 8: Ponga a prueba a su agencia de viajes
Ahora puede interactuar con su agente de viajes haciéndole preguntas como:
-
- "¿Dónde deberíamos ir de vacaciones para hacer turismo?"
- "Quiero unas vacaciones llenas de aventuras"
- "¿Cuál es un buen destino romántico?"
El flujo de trabajo será:
-
- Convierte tu consulta en una incrustación vectorial
- Buscar en Couchbase destinos semánticamente similares
- Utilizar el LLM para formular una respuesta basada en la información de destino recuperada.
Próximos pasos
Aunque esta agencia de viajes puede no ser muy práctica para planificar unas vacaciones, demuestra de forma efectiva cómo podemos aprovechar Couchbase y Vector Search para recuperar datos de una base de datos y utilizarlos en conversaciones LLM utilizando las potentes herramientas de flujo de trabajo de n8n.
Eche un vistazo a nuestro Libro de recetas de búsqueda vectorial para ver ejemplos de otras aplicaciones de búsqueda vectorial en Couchbase para inspirarte, ¡y pruébalas en n8n usando el Nodo Vectorial de Búsqueda de Couchbase! ¡Feliz automatización!