paint-brush
CassIO : la meilleure bibliothèque pour l'IA générative, inspirée par OpenAIpar@datastax
4,464 lectures
4,464 lectures

CassIO : la meilleure bibliothèque pour l'IA générative, inspirée par OpenAI

par DataStax5m2023/06/07
Read on Terminal Reader

Trop long; Pour lire

Découvrez comment une discussion avec ChatGPT s'est transformée en CassIO, une bibliothèque incroyable pour les utilisateurs d'Apache Cassandra.
featured image - CassIO : la meilleure bibliothèque pour l'IA générative, inspirée par OpenAI
DataStax HackerNoon profile picture
0-item
1-item
2-item
3-item

Si vous êtes un utilisateur fréquent de ChatGPT, vous savez qu'il a tendance à s'égarer dans ce qu'on appelle des hallucinations. Une grande collection de mots statistiquement corrects qui n'ont aucun fondement dans la réalité. Il y a quelques mois, une invite sur l'utilisation d'Apache Cassandra pour les grands modèles de langage (LLM) et LangChain a suscité une réponse curieuse. ChatGPT a signalé que non seulement Cassandra était un bon choix d'outil lors de la création de LLM, OpenAI a utilisé Cassandra avec une bibliothèque Python sous licence MIT qu'ils ont appelée CassIO.


Dans le terrier du lapin, nous sommes allés, et grâce à plus d'incitations, ChatGPT a décrit de nombreux détails sur la façon dont CassIO a été utilisé. Il comprenait même un exemple de code et un site Web. Des recherches ultérieures n'ont trouvé aucune preuve de CassIO en dehors des réponses ChatGPT, mais la graine a été semée. Si cette bibliothèque n'existait pas, elle en avait besoin et nous avons commencé à travailler dessus peu de temps après.


La meilleure hallucination de tous les temps.

Le vrai CassIO va-t-il se lever ?

Quelle était cette idée géniale que ChatGPT (et, par association, OpenAI) a inspirée ? Une excellente bibliothèque Python permet aux développeurs de faire plus avec moins. DataStax et Anant ont uni leurs forces pour développer CassIO pour rendre transparente l'intégration de Cassandra avec l'intelligence artificielle générative et d'autres charges de travail d'apprentissage automatique. Son objectif principal est d'abstraire le processus d'accès à la base de données Cassandra, y compris son recherche de vecteur capacités, offrant un ensemble d'outils prêts à l'emploi qui minimisent le besoin de code supplémentaire. En conséquence, les développeurs peuvent se concentrer sur la conception et la mise en œuvre de leurs systèmes d'IA, sachant que CassIO a pris en charge les complexités sous-jacentes des bases de données. Le résultat est l'accès à une base de données éprouvée pour une échelle abordable et une faible latence. L'essence de CassIO est de faciliter et de simplifier le processus de mise en œuvre.


La force de CassIO réside dans son agnosticisme envers des cadres d'IA spécifiques. Il ne se préoccupe pas des détails d'implémentation spécifiques d'interfaces telles que LangChain , LlamaIndex , Noyau sémantique Microsoft , ou divers autres kits d'outils d'IA générative. Au lieu de cela, il fournit un ensemble "d'adaptateurs légers" conformes aux interfaces du framework tout en utilisant les capacités de CassIO. Cela permet à CassIO de combler le fossé entre votre application d'IA et la base de données, permettant ainsi à l'application de tirer parti de la puissance de Cassandra sans s'emmêler dans ses détails.

Intégration avec LangChain

LangChain automatise la majorité des tâches de gestion et des interactions avec les LLM. Il prend en charge la mémoire, la recherche de similarité basée sur les vecteurs, l'abstraction avancée des modèles d'invite et une multitude d'autres fonctionnalités. CassIO s'intègre de manière transparente à LangChain, étendant les outils spécifiques à Cassandra pour rationaliser des tâches telles que :

  • Un module de mémoire pour les LLM qui utilise Cassandra pour le stockage, qui peut se souvenir des échanges récents dans une interaction de chat, ou même conserver un résumé de toute la conversation passée.

  • Une fonctionnalité pour mettre en cache les réponses LLM sur Cassandra, économisant ainsi sur la latence et les jetons si possible. Injection automatique de données de Cassandra dans une invite ou dans une conversation LLM plus longue.

  • Prise en charge de la « partialisation » des invites, laissant certaines entrées non spécifiées pour l'approvisionnement futur.

  • Injection automatique de données à partir d'un Festin magasin de fonctionnalités (potentiellement soutenu par Cassandre ) dans une invite.


Ces composants fonctionnent ensemble pour rationaliser le processus d'intégration des données dans les invites et assurer une interaction fluide entre le LLM et la base de données.

Intégration avec la recherche vectorielle

L'inclusion de recherche de vecteur capacités dans Cassandra et DataStax Astra DB a récemment intégré une fonctionnalité clé dans une base de données déjà populaire pour les données transactionnelles. La réputation de Cassandra en matière d'échelle élevée signifie que vous disposez d'un emplacement unique pour stocker et traiter les données sans les déplacer lors d'opérations coûteuses. L'ajout de la recherche vectorielle a ouvert les portes à une suite d'outils "sémantiquement conscients" mis à disposition dans CassIO, tels que :

  • Un cache de réponses LLM qui ne dépendent pas de la formulation exacte d'une requête.
  • Un "index sémantique" qui peut stocker une base de connaissances et récupérer les parties pertinentes pour construire la meilleure réponse à une question donnée. Cet outil peut être adapté pour répondre à de nombreux besoins spécifiques et peut être configuré pour récupérer diverses informations afin de maximiser les informations réelles entrant dans la réponse.
  • Un élément de "mémoire sémantique" pour les interactions de chat LLM, qui peut récupérer des échanges passés pertinents même s'ils se sont produits dans un passé lointain.


La combinaison de CassIO et LangChain continue d'étendre et d'affiner ces capacités au fil du temps pour répondre aux besoins en constante évolution de la gestion LLM. L'état de l'art actuel consiste à enchaîner les invites pour obtenir des réponses plus précises des LLM. Dans un article récent décrivant une technique appelée arbre de pensée , le rôle de la recherche vectorielle joue un rôle essentiel dans la persistance d'une invite à l'autre. Au fur et à mesure que ces idées passeront du milieu universitaire à la production, Cassandra jouera un rôle important dans la mise en œuvre.

Invite suivante : Qu'est-ce qui attend CassIO ?

En tant qu'outil évolutif, CassIO se développe rapidement, avec de nouveaux développements et mises à jour fréquemment ajoutés. Au moment de la rédaction, CassIO prend en charge LangChain, avec LlamaIndex bientôt disponible. L'objectif à long terme de ce projet est de prendre en charge la mémoire à grande échelle pour les agents d'IA autonomes tels que le JARVIS projet. Les agents avec LLM sont un développement passionnant qui aura un impact incroyable sur de nombreuses industries avec une gestion des tâches complexes. Ces agents devront suivre de nombreux aspects des données et des interactions, et Cassandra est la bonne base de données pour le travail. Fiable et performant.


Un camp d'entraînement à venir, " NoCode, Data & AI : LLM Bootcamp avec Cassandra », offrira aux développeurs une chance de travailler avec la bibliothèque pour créer un bot de discussion. Recherchez d'autres activités comme celle-ci dans une ville près de chez vous ! Nous encourageons les utilisateurs à explorer CassIO pour problèmes de fichiers , participer à la forums et aidez-nous à améliorer cette hallucination qui se matérialise rapidement.


Qui sait comment l'histoire jugera ce moment ? Était-ce une fuite d'informations internes d'OpenAI ? Ou, en pensant un peu plus sombrement, est-ce la première étape de l'IA pour amener les humains à faire ce qu'il veut ? Quoi qu'il en soit, les développeurs disposent désormais d'une bibliothèque simple à utiliser pour exploiter l'échelle quasi infinie de Cassandra lorsqu'ils se lancent dans le monde de l'IA générative.


ChatGPT nous a fait un cadeau, alors qu'allez-vous construire avec ça ? Je vais me plonger dans la recherche de vecteurs dans un prochain webinaire (inscrivez-vous ici !), et si vous voulez juste entrer et commencer à travailler aujourd'hui, DataStax Astra a quelques grands tutoriels.



Par Patrick McFadin, DataStax

Patrick McFadin est co-auteur du livre d'O'Reilly "Managing Cloud Native Data on Kubernetes". Il travaille actuellement chez DataStax dans les relations avec les développeurs et en tant que contributeur au projet Apache Cassandra. Patrick a travaillé en tant qu'évangéliste en chef pour Apache Cassandra (il est également un nouveau committer Cassandra !) et en tant que consultant pour DataStax, où il a passé un bon moment à construire certains des plus grands déploiements en production.