paint-brush
CassIO: la mejor biblioteca para IA generativa, inspirada en OpenAIpor@datastax
4,452 lecturas
4,452 lecturas

CassIO: la mejor biblioteca para IA generativa, inspirada en OpenAI

por DataStax5m2023/06/07
Read on Terminal Reader

Demasiado Largo; Para Leer

Descubra cómo una discusión con ChatGPT se convirtió en CassIO, una biblioteca increíble para los usuarios de Apache Cassandra.
featured image - CassIO: la mejor biblioteca para IA generativa, inspirada en OpenAI
DataStax HackerNoon profile picture
0-item
1-item
2-item
3-item

Si eres un usuario frecuente de ChatGPT, conoces la tendencia que tiene a perderse en lo que se conoce como alucinaciones. Una gran colección de palabras estadísticamente correctas que no tienen ninguna base en la realidad. Hace unos meses, un aviso sobre el uso de Apache Cassandra para modelos de lenguaje grandes (LLM) y LangChain resultó en una respuesta curiosa. ChatGPT informó que Cassandra no solo era una buena opción de herramienta al crear LLM, sino que OpenAI usó Cassandra con una biblioteca de Python con licencia de MIT que llamaron CassIO.


Entramos en la madriguera del conejo y, a través de más indicaciones, ChatGPT describió muchos detalles sobre cómo se usaba CassIO. Incluso incluía un código de muestra y un sitio web. La investigación posterior no encontró evidencia de CassIO fuera de las respuestas de ChatGPT, pero se sembró la semilla. Si esta biblioteca no existía, tenía que existir y comenzamos a trabajar en ella poco después.


La mejor alucinación de la historia.

¿Se pondrá de pie el verdadero CassIO?

¿Cuál fue esta gran idea que inspiró ChatGPT (y, por asociación, OpenAI)? Una gran biblioteca de Python permite a los desarrolladores hacer más con menos. DataStax y Anant combinaron fuerzas para desarrollar CassIO para hacer que la integración de Cassandra con inteligencia artificial generativa y otras cargas de trabajo de aprendizaje automático sea perfecta. Su propósito principal es abstraer el proceso de acceso a la base de datos de Cassandra, incluyendo su búsqueda de vectores capacidades, ofreciendo un conjunto de herramientas listas para usar que minimizan la necesidad de código adicional. Como resultado, los desarrolladores pueden concentrarse en diseñar e implementar sus sistemas de IA, sabiendo que CassIO se ha ocupado de las complejidades de la base de datos subyacente. El resultado es el acceso a una base de datos comprobada para una escala asequible y baja latencia. La esencia de CassIO consiste en facilitar y simplificar el proceso de implementación.


La fuerza de CassIO radica en su agnosticismo hacia marcos de trabajo de IA específicos. No se preocupa por los detalles de implementación específicos de interfaces como LangChain , LlamaIndex , Núcleo semántico de Microsoft , o varios otros kits de herramientas de IA generativa. En cambio, proporciona un conjunto de "adaptadores delgados" que se ajustan a las interfaces del marco mientras usa las capacidades de CassIO. Esto permite que CassIO cierre la brecha entre su aplicación de IA y la base de datos, lo que permite que la aplicación aproveche el poder de Cassandra sin enredarse en sus detalles.

Integración con LangChain

LangChain automatiza la mayoría de las tareas de gestión y las interacciones con los LLM. Proporciona soporte para memoria, búsqueda de similitud basada en vectores, abstracción avanzada de plantillas de solicitud y una gran cantidad de otras características. CassIO se integra a la perfección con LangChain y amplía las herramientas específicas de Cassandra para optimizar tareas como:

  • Un módulo de memoria para LLM que usa Cassandra para el almacenamiento, que puede recordar intercambios recientes en una interacción de chat, o incluso mantener un resumen de toda la conversación pasada.

  • Una función para almacenar en caché las respuestas de LLM en Cassandra, ahorrando así latencia y tokens cuando sea posible. Inyección automática de datos de Cassandra en un aviso o dentro de una conversación de LLM más larga.

  • Compatibilidad con la "parcialización" de las indicaciones, dejando algunas entradas sin especificar para el suministro futuro.

  • Inyección automática de datos desde un Banquete tienda de características (potencialmente respaldado por Casandra ) en un aviso.


Estos componentes trabajan juntos para agilizar el proceso de incorporación de datos en indicaciones y garantizar una interacción fluida entre el LLM y la base de datos.

Integración con búsqueda de vectores

la inclusión de búsqueda de vectores Capacidades en Cassandra y DataStax Astra DB recientemente integró una característica clave en una base de datos ya popular para datos transaccionales. La reputación de Cassandra de alta escala significa que usted tiene un solo lugar para almacenar y procesar datos sin mover los datos en operaciones costosas. La adición de la búsqueda vectorial ha abierto las puertas a un conjunto de herramientas "semánticamente conscientes" disponibles en CassIO, como:

  • Un caché de respuestas LLM que no dependen de la redacción exacta de una consulta.
  • Un "índice semántico" que puede almacenar una base de conocimiento y recuperar partes relevantes para construir la mejor respuesta a una pregunta determinada. Esta herramienta se puede adaptar para satisfacer muchas necesidades específicas y se puede configurar para recuperar información diversa para maximizar la información real que fluye hacia la respuesta.
  • Un elemento de "memoria semántica" para las interacciones de chat de LLM, que puede recuperar intercambios pasados relevantes incluso si ocurrieron en un pasado lejano.


La combinación de CassIO y LangChain continúa expandiendo y refinando estas capacidades con el tiempo para satisfacer las necesidades en constante evolución de la gestión de LLM. El estado actual del arte está en el encadenamiento de avisos para obtener respuestas más precisas de los LLM. En un artículo reciente que describe una técnica llamada árbol del pensamiento , el papel de la búsqueda de vectores juega un papel fundamental en la persistencia de un aviso al siguiente. A medida que estas ideas pasen de la academia a la producción, Cassandra será una parte importante de la implementación.

Próximo mensaje: ¿Qué le espera a CassIO?

Como herramienta en evolución, CassIO está creciendo rápidamente, con nuevos desarrollos y actualizaciones que se agregan con frecuencia. En el momento de escribir este artículo, CassIO es compatible con LangChain, y LlamaIndex estará disponible próximamente. El objetivo a largo plazo de este proyecto es admitir memoria a gran escala para agentes de IA autónomos como el JARVIS proyecto. Los agentes con LLM son un desarrollo emocionante que tendrá un impacto increíble en muchas industrias con manejo de tareas complejas. Estos agentes deberán realizar un seguimiento de muchos aspectos de los datos y las interacciones, y Cassandra es la base de datos adecuada para el trabajo. Confiable y eficaz.


Un próximo campo de entrenamiento, “ NoCode, Data & AI: LLM Bootcamp con Cassandra ”, ofrecerá a los desarrolladores la oportunidad de trabajar directamente con la biblioteca para crear un bot de chat. ¡Busca más actividades como esta en una ciudad cerca de ti! Animamos a los usuarios a explorar CassIO a problemas de archivos , participar en el foros y ayúdanos a mejorar esta alucinación que se materializa rápidamente.


¿Quién sabe cómo juzgará la historia este momento? ¿Fue una fuga de información interna de OpenAI? O, pensando un poco más oscuro, ¿es este el primer paso de la IA para lograr que los humanos cumplan sus órdenes? De cualquier manera, los desarrolladores ahora tienen una biblioteca fácil de usar para aprovechar la escala casi infinita de Cassandra cuando se lanzan al mundo de la IA generativa.


ChatGPT nos ha dado un regalo, entonces, ¿qué vas a construir con esto? Voy a sumergirme en la búsqueda de vectores en un próximo seminario web (regístrese aquí !), y si solo quiere entrar y empezar a trabajar hoy mismo, DataStax Astra tiene algunos tutoriales geniales.



Por Patrick McFadin, DataStax

Patrick McFadin es coautor del libro de O'Reilly 'Managing Cloud Native Data on Kubernetes'. Actualmente trabaja en DataStax en relaciones con desarrolladores y como colaborador del proyecto Apache Cassandra. Patrick ha trabajado como evangelista jefe de Apache Cassandra (¡también es un committer recién nombrado de Cassandra!) y como consultor de DataStax, donde se divirtió mucho creando algunas de las implementaciones más grandes en producción.