IA Generativa (GenAI)

CodeLab: Creación de una aplicación RAG con los servicios de modelos de Couchbase Capella y LangChain

En este tutorial, aprenderás a crear un generación aumentada por recuperación (RAG) aplicación utilizando Servicios de inteligencia artificial de Couchbase para almacenar datos, generar incrustaciones utilizando modelos de incrustación e inferencia LLM. Crearemos un sistema RAG que:

  1. Ingiere artículos de noticias de la Conjunto de datos de BBC News.
  2. Genera incrustaciones vectoriales utilizando el NVIDIA NeMo Retriever modelo a través de Capella Model Services.
  3. Almacena e indexa estos vectores en Couchbase Capella.
  4. Realiza búsquedas semánticas para recuperar el contexto relevante.
  5. Genera respuestas utilizando el Mistral-7B LLM alojado en Capella.

Puede encontrar el código fuente del cuaderno para este CodeLab aquí.

¿Por qué los servicios de inteligencia artificial de Couchbase?

Los servicios de inteligencia artificial de Couchbase ofrecen:

  • API de inferencia y embeddings de LLM: Acceda a modelos LLM populares (por ejemplo, Llama 3) y modelos de incrustación directamente a través de Capella, sin necesidad de gestionar claves API externas ni infraestructura.
  • Plataforma unificada: Aprovecha la base de datos, la vectorización, la búsqueda y el modelo en un solo lugar.
  • Búsqueda vectorial integrada: Realice búsquedas semánticas directamente en sus datos JSON con una latencia de milisegundos.

Configuración de los servicios de inteligencia artificial de Couchbase

Crear un clúster en Capella

  1. Entrar en Couchbase Capella.
  2. Cree un nuevo clúster o utilice uno existente. Tenga en cuenta que el clúster debe ejecutar la última versión de Couchbase Server 8.0, que incluye los servicios de datos, consultas, índices y eventos.
  3. Cree un cubo.
  4. Cree un ámbito y una colección para los datos.

Habilitar servicios de IA

  1. Navega hasta la sección Servicios de IA de Capella en la interfaz de usuario.
  2. Implementa las incrustaciones y los modelos LLM.
    • Para esta demostración, debe iniciar una incrustación y un LLM en la misma región que el clúster Capella donde se almacenarán los datos.
    • Para que esta demostración funcione correctamente, es necesario implementar un LLM que tenga capacidades de llamada a herramientas, como mistralai/mistral-7b-instruct-v0.3. Para las incrustaciones, puede elegir un modelo como el nvidia/llama-3.2-nv-embedqa-1b-v2.
  3. Anote la URL del punto final y genere claves API.

Para obtener más información sobre el lanzamiento de modelos de IA, puede leer el documentación oficial.

Requisitos previos

Antes de empezar, asegúrate de tener instalado Python 3.10 o superior.

Paso 1: Instalar dependencias

Necesitamos el SDK de Couchbase, las integraciones de LangChain y la biblioteca de conjuntos de datos.

Paso 2: Configuración y conexión

Comenzaremos conectándonos a nuestro clúster Couchbase. También necesitamos configurar los puntos finales para Capella Model Services.

Nota: Los servicios Capella Model son compatibles con el formato API de OpenAI, por lo que podemos utilizar el estándar. langchain-openai biblioteca apuntándola a nuestro punto final Capella.

Paso 3: Configurar la estructura de la base de datos

Debemos asegurarnos de que nuestro cubo, ámbito y colección existan para almacenar los datos de noticias.

Paso 4: Carga del índice de búsqueda vectorial de Couchbase

La búsqueda semántica requiere una forma eficiente de recuperar documentos relevantes basándose en la consulta del usuario. Aquí es donde entra en juego Couchbase Vector Search, anteriormente conocido como servicio Full-Text Search (FTS). En este paso, cargamos la definición del índice de búsqueda vectorial desde un archivo JSON, que especifica cómo debe estructurarse el índice. Esto incluye los campos que se van a indexar, las dimensiones de los vectores y otros parámetros que determinan cómo el motor de búsqueda procesa las consultas basándose en la similitud vectorial.

Paso 5: Inicializar los modelos de IA

Aquí está la magia: inicializamos el modelo de incrustación utilizando OpenAIEmbeddings pero apúntalo a Capella. Los servicios de inteligencia artificial de Couchbase proporcionan puntos finales compatibles con OpenAI que utilizan los agentes. Para las incrustaciones, utilizamos el paquete LangChain OpenAI, ya que se utiliza en asociación con la integración de LangChain Couchbase.

Paso 6: Ingestión de datos

Cargamos el conjunto de datos de BBC News y lo incorporamos a Couchbase. El CouchbaseSearchVectorStore gestiona automáticamente la generación de incrustaciones utilizando nuestro modelo definido y su almacenamiento.

Paso 7: Construir la cadena RAG

Ahora creamos el proceso RAG. Inicializamos el LLM (volviendo a apuntar a Capella) y lo conectamos a nuestro recuperador de almacenamiento vectorial.

Paso 8: Ejecutar consultas

Probemos nuestro RAG.

Ejemplo de resultado:

Contesta: Pep Guardiola ha expresado su preocupación y frustración por el rendimiento reciente del Manchester City. Ha declarado: “No soy lo suficientemente bueno. Soy el jefe... Tengo que encontrar soluciones”. Ha reconocido los problemas defensivos del equipo y su falta de confianza.

Conclusión

En este tutorial, has aprendido a:

  1. Vectoriza datos con Couchbase.
  2. Utilice los servicios de inteligencia artificial de Couchbase para incrustaciones y LLM.
  3. Implementa RAG con Couchbase Vector Search.

La plataforma de base de datos unificada de Couchbase crea potentes aplicaciones de inteligencia artificial capaces de generar contenido de alta calidad y sensible al contexto.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Laurent Doguin

Laurent es un metalero empollón que vive en París. Principalmente escribe código en Java y texto estructurado en AsciiDoc, y a menudo habla sobre datos, programación reactiva y otras cosas de moda. También fue Developer Advocate de Clever Cloud y Nuxeo, donde dedicó su tiempo y experiencia a ayudar a esas comunidades a crecer y fortalecerse. Ahora dirige las relaciones con los desarrolladores en Couchbase.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.