paint-brush
CassIO: a melhor biblioteca para IA generativa, inspirada na OpenAIpor@datastax
4,460 leituras
4,460 leituras

CassIO: a melhor biblioteca para IA generativa, inspirada na OpenAI

por DataStax5m2023/06/07
Read on Terminal Reader

Muito longo; Para ler

Saiba como uma discussão com o ChatGPT se transformou em CassIO, uma incrível biblioteca para usuários do Apache Cassandra.
featured image - CassIO: a melhor biblioteca para IA generativa, inspirada na OpenAI
DataStax HackerNoon profile picture
0-item
1-item
2-item
3-item

Se você é um usuário frequente do ChatGPT, sabe a tendência que ele tem de se perder no que é conhecido como alucinações. Uma grande coleção de palavras estatisticamente corretas que não têm base na realidade. Alguns meses atrás, uma solicitação sobre o uso do Apache Cassandra para modelos de linguagem grande (LLMs) e LangChain resultou em uma resposta curiosa. O ChatGPT relatou que Cassandra não era apenas uma boa escolha de ferramenta ao criar LLMs, mas a OpenAI usava Cassandra com uma biblioteca Python licenciada pelo MIT chamada CassIO.


Entramos na toca do coelho e, por meio de mais sugestões, o ChatGPT descreveu muitos detalhes sobre como o CassIO foi usado. Inclusive incluía alguns exemplos de código e um site. Pesquisas subsequentes não encontraram nenhuma evidência de CassIO fora das respostas do ChatGPT, mas a semente foi plantada. Se essa biblioteca não existisse, ela precisava existir, e começamos a trabalhar nela logo depois.


Melhor alucinação de todos os tempos.

O verdadeiro Cassio pode se levantar?

Qual foi essa grande ideia que o ChatGPT (e, por associação, o OpenAI) inspirou? Uma ótima biblioteca Python permite que os desenvolvedores façam mais com menos. DataStax e Anant combinaram forças no desenvolvimento CassIO para tornar a integração do Cassandra com inteligência artificial generativa e outras cargas de trabalho de aprendizado de máquina perfeitas. Seu principal objetivo é abstrair o processo de acesso ao banco de dados Cassandra, incluindo sua pesquisa de vetores capacidades, oferecendo um conjunto de ferramentas prontas para uso que minimizam a necessidade de código adicional. Como resultado, os desenvolvedores podem se concentrar em projetar e implementar seus sistemas de IA, sabendo que a CassIO cuidou das complexidades subjacentes do banco de dados. O resultado é o acesso a um banco de dados comprovado para escala acessível e baixa latência. A essência do CassIO é facilitar e simplificar o processo de implementação.


A força da CassIO está em seu agnosticismo em relação a estruturas de IA específicas. Ele não se preocupa com os detalhes específicos de implementação de interfaces como LangChain , LlamaIndex , Kernel Semântico da Microsoft , ou vários outros kits de ferramentas de IA generativas. Em vez disso, ele fornece um conjunto de "adaptadores finos" que estão em conformidade com as interfaces da estrutura ao usar os recursos do CassIO. Isso permite que o CassIO preencha a lacuna entre seu aplicativo de IA e o banco de dados, permitindo que o aplicativo aproveite o poder do Cassandra sem se envolver em seus detalhes.

Integração com LangChain

LangChain automatiza a maioria das tarefas de gerenciamento e interações com LLMs. Ele fornece suporte para memória, pesquisa de similaridade baseada em vetores, abstração avançada de modelos de prompt e uma variedade de outros recursos. O CassIO se integra perfeitamente ao LangChain, estendendo as ferramentas específicas do Cassandra para simplificar tarefas como:

  • Um módulo de memória para LLMs que usa Cassandra para armazenamento, que pode lembrar as trocas recentes em uma interação de chat ou até mesmo manter um resumo de toda a conversa passada.

  • Um recurso para armazenar em cache as respostas do LLM no Cassandra, economizando assim latência e tokens sempre que possível. Injeção automática de dados do Cassandra em um prompt ou em uma conversa mais longa do LLM.

  • Suporte para "parcialização" de prompts, deixando alguma entrada não especificada para fornecimento futuro.

  • Injeção automática de dados de um Celebração loja de recursos (potencialmente apoiado por Cassandra ) em um prompt.


Esses componentes trabalham juntos para agilizar o processo de incorporação de dados em prompts e garantir uma interação suave entre o LLM e o banco de dados.

Integração com pesquisa vetorial

A inclusão de pesquisa de vetores capacidades em Cassandra e DataStax Astra DB recentemente integrou um recurso chave em um banco de dados já popular para dados transacionais. A reputação de alta escala do Cassandra significa que você tem um único local para armazenar e processar dados sem movê-los em operações caras. A adição da pesquisa vetorial abriu portas para um conjunto de ferramentas "semanticamente conscientes" disponibilizadas no CassIO, como:

  • Um cache de respostas LLM que não dependem da frase exata de uma consulta.
  • Um "índice semântico" que pode armazenar uma base de conhecimento e recuperar partes relevantes para construir a melhor resposta para uma determinada pergunta. Esta ferramenta pode ser adaptada para atender a muitas necessidades específicas e pode ser configurada para recuperar diversas informações para maximizar o fluxo de informações reais para a resposta.
  • Um elemento de "memória semântica" para interações de bate-papo LLM, que pode recuperar trocas passadas relevantes, mesmo que tenham ocorrido em um passado distante.


A combinação de CassIO e LangChain continua a expandir e refinar esses recursos ao longo do tempo para atender às necessidades em constante evolução do gerenciamento de LLM. O estado da arte atual está no encadeamento de prompts para obter respostas mais precisas dos LLMs. Em um artigo recente descrevendo uma técnica chamada árvore do pensamento , a função da pesquisa de vetor desempenha um papel crítico na persistência de um prompt para o próximo. À medida que essas ideias passam da academia para a produção, Cassandra servirá como uma parte importante da implementação.

Próximo prompt: O que está por vir para CassiIO

Como uma ferramenta em evolução, o CassIO está crescendo rapidamente, com novos desenvolvimentos e atualizações adicionados com frequência. No momento da escrita, CassIO suporta LangChain, com LlamaIndex em breve. O objetivo de longo prazo deste projeto é oferecer suporte à memória de alta escala para agentes autônomos de IA, como o JARVIS projeto. Agentes com LLMs são um desenvolvimento empolgante que terá um impacto incrível em muitos setores com gerenciamento de tarefas complexas. Esses agentes precisarão acompanhar muitos aspectos dos dados e interações, e Cassandra é o banco de dados certo para o trabalho. Confiável e performático.


Um próximo campo de treinamento, “ NoCode, Data & AI: LLM Bootcamp com Cassandra ”, oferecerá aos desenvolvedores a chance de trabalhar na prática com a biblioteca para criar um bot de bate-papo. Procure mais atividades como esta chegando a uma cidade perto de você! Encorajamos os usuários a explorar CassIO para problemas de arquivo , Participar no fóruns e ajude-nos a melhorar essa alucinação que se materializa rapidamente.


Quem sabe como a história julgará este momento? Foi um vazamento de informações internas da OpenAI? Ou, pensando um pouco mais sombriamente, este é o primeiro passo da IA para fazer os humanos cumprirem suas ordens? De qualquer forma, os desenvolvedores agora têm uma biblioteca simples de usar para acessar a escala quase infinita do Cassandra ao entrar no mundo da IA generativa.


O ChatGPT nos deu um presente, então o que você vai construir com isso? Vou mergulhar na pesquisa de vetores em um próximo webinar (registre-se aqui !), e se você quiser entrar e começar a trabalhar hoje, Data Stax AstraComment tem ótimos tutoriais.



Por Patrick McFadin, DataStax

Patrick McFadin é coautor do livro da O'Reilly 'Managing Cloud Native Data on Kubernetes'. Ele atualmente trabalha na DataStax em relações com desenvolvedores e como colaborador do projeto Apache Cassandra. Patrick trabalhou como evangelista-chefe para Apache Cassandra (ele também é um committer Cassandra recém-formado!) e como consultor para DataStax, onde se divertiu construindo algumas das maiores implantações em produção.