- Publicado em
Projeto: Corvo AI Chatbot Builder
- Autores
- Nome
- Gustavo Kuze
- About
- Sobre o autor
Introdução
Corvo é uma plataforma para criação de Chatbot incorporáveis capazes de aprender sobre seu negócio através de textos e links de documentação.
Motivação
Venho estudando sobre técnicas de RAG (Retrieval-Augmented Generation) há algum tempo e infelizmente acabei caindo no "tutorial hell". Não me entenda mal, conheci novos canais muito interessantes no Youtube sobre AI além de alguns projetos open-source relacionados ao assunto, mas depois de algum tempo apenas consumindo conteúdo, senti que não estava conseguindo cimentar o conhecimento e que precisava colocá-lo em prática. Este foi o início do projeto Corvo.
Como funciona?
O processo de criação do chatbot segue os seguintes passos:
- O usuário faz login no painel admin
- Acessa a aba "Agents"
- Clica em "Create agent"
- Insere o nome do chatbot, texto ou website que deseja que o chatbot aprenda
- Clica em "Save Agent"
- O endpoint
/api/agent/mutate
é chamado, criando um novo agent no banco de dados e gerando os embeddings do conhecimento do chatbot baseados no texto e website informados - O usuário pode agora copiar o script do chatbot e incorporá-lo ao seu site
O Projeto
O projeto Corvo está organizado em dois repositórios principais:
- Corvo Chatbot - Chatbot incorporável
- Corvo Admin - Painel de controle para criação e gerenciamento de chatbots
Corvo Chatbot
O projeto Corvo Chatbot é um chatbot incorporável que pode ser facilmente adicionado a qualquer site. Ele é construído com Vite e Rollup, facilitando a criação de um script customizado para ser incorporado a qualquer site.
Corvo Admin
O projeto Corvo Admin é um painel de controle para criação e gerenciamento de chatbots. Ele é construído com Next.js, Shadcn, Tailwind e Lucide.
Tecnologias
O projeto se baseia nessas três principais tecnologias:
Langchain
O Langchain é um framework de código aberto para desenvolvimento de aplicações de AI. Ele agiliza o processo de criação de aplicações de RAG e possui uma documentação bem extensa sobre o assunto.
Google Gemini
O Google Gemini é um modelo de linguagem proprietário desenvolvido pelo Google. Ele pode ser usado para gerar e traduzir textos, responder perguntas, etc. No momento da escrita deste artigo, o projeto utiliza o model text-embedding-004
para gerar os embeddings do conhecimento do chatbot e o modelo gemini-1.5-flash
para gerar as respostas do chatbot.
Supabase
O Supabase é um banco de dados em nuvem que pode ser usado para armazenar dados do chatbot. Neste projeto, ele é usado tanto para armazenar os dados de autenticação do usuário quanto para armazenar o conhecimento indexado de RAG (embeddings) do chatbot.
Por que esse nome? 🤔
Corvos estão entre as aves mais inteligentes. Eles são capazes de aprender a imitar a voz humana (assim como os papagaios), contar em voz alta e alguns até mesmo usam ferramentas para obter alimento.
Ou seja, eles:
- São capazes de gerar sons semelhantes aquilo que ouviram de outros animais
- São capazes de aprender por meio de tentativa e erro
- Usam ferramentas externas para atingir seus objetivos
Estes pontos podem ser comparados com as seguintes características/técnicas envolvendo AI:
- next token prediction
- prompt iteration
- Tool calling
Curiosidade: Inicialmente pensei em chamar o projeto de Toth, fazendo referência ao deus egípcio do conhecimento (chamado Tote em Português). Porém descobri que já existe um projeto de AI de nome muito semelhante: Thoth AI
Menções
Canais do Youtube
Alguns canais que auxiliaram nestes estudos:
Projetos open-source
Projetos de código aberto que serviram como base ou inspiração para o Corvo: