Buenas prácticas y tutoriales

PDF Demostración de RAG: Creación de flujos de trabajo de IA simplificados con Couchbase Shell

Anteriormente, mostramos cómo utilizar las capacidades RAG de Couchbase a través de una aplicación Python que permite al usuario 'chatear' con su PDF o con X. Es simple de construir, pero ¿podemos construirlo más simple? He estado jugando mucho con Couchbase Shell recientemente y debería permitirme hacer algo similar.

Establecer un ámbito y una colección

Supongo que ya conoce Shell de Couchbase (cbsh), y tener un clúster y un modelo configurados.

Cree y seleccione un ámbito y una colección y, a continuación, cree un índice primario:

Convertir un PDF en texto fragmentado

Existe una gran variedad de herramientas que permiten convertir un pdf en texto. En la mayoría de las distribuciones de Linux, encontrarás pdftotext.

Esto creará una versión de texto del archivo con la misma ruta, pero con un .txt extensión.

Con Nushell (cbsh está basado en Nushell) es fácil dividir texto gracias al comando split. El problema es encontrar el delimitador correcto que necesitas para trocear el archivo. Afortunadamente, soporta cadenas multilínea, así que copié y pegué texto del archivo entre dos párrafos. Sin embargo, deberías poder hacer algo más sofisticado utilizando regex. Esa es la diferencia entre el material del blog y la producción 😇.

Esto te dará una tabla de cadenas de texto. Para importarla a Couchbase las envolvemos en un campo de texto, en un objeto JSON de contenido, añadimos un UUID generado aleatoriamente y upsertamos el resultado.

El siguiente paso es crear incrustaciones, o representaciones vectoriales del texto:

A continuación, cree el índice de búsqueda vectorial. Aquí se llama pdf, indexa el campo textVectorcrear un vector de 1536 dimensiones y utilizar l2_norma para el algoritmo de similitud, ya que es el predeterminado.

He importado las reglas del Monopoly y pregunto cómo salir de la cárcel. En el ejemplo original, teníamos una respuesta con contexto y otra sin él.

Y con contexto:

Vamos a simplificar esto poniendo todo en un script. Este es el contenido de miScript.nu:

Puedes crear el archivo de script y luego llamar a esas funciones:

Aquí puedes ver el mismo tipo de resultado que conseguimos en la demo de Python RAG, pero esta vez usando Couchbase Shell. Debería ser más fácil de manipular, cambiar o extender, porque no necesitas desplegar una aplicación o saber Python. Sin embargo, será menos flexible que lo que puedes conseguir con Python y Langchain.

Si esto te interesa, permanece atento: ¡más contenido sobre IA y Couchbase Shell en camino!

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.