← Voltar ao chat

Como funciona o chat: Groq + auto-aprendizado no ChromaDB

Hoje o chat sempre responde usando a Groq (API gratuita, modelo llama-3.3-70b-versatile), e cada pergunta feita alimenta automaticamente a base de conhecimento do ChromaDB — o sistema "aprende" sozinho a cada uso, mesmo sem alguém subir documentos manualmente pelo admin.

1

Você faz uma pergunta

Entrada

O texto digitado no chat é enviado como está, em português, para o servidor.

"quantas luas tem Netuno?"
2

A Groq responde imediatamente

llama-3.3-70b-versatile

Toda pergunta, sem exceção, é enviada para a API da Groq — que é extremamente rápida (geralmente 1 a 2 segundos). É essa resposta que aparece no chat para você, sem esperar nenhum modelo local.

3

A resposta vira embedding

nomic-embed-text

Em paralelo, o texto da resposta da Groq é salvo como um novo documento e passa pelo modelo de embedding local (nomic-embed-text, via Ollama). O resultado é um vetor de 768 números — uma representação matemática do significado daquele texto.

[0.0524, 0.0541, -0.1653, -0.0897, 0.0233, -0.0790, …] (768 dimensões)
4

O chunk é gravado no ChromaDB

Novo conhecimento

O vetor e o texto são armazenados como um novo chunk na coleção. A partir de agora, essa informação faz parte da base local — e pode ser consultada, visualizada e apagada pelo painel admin.

5

A cada pergunta, o ChromaDB já é consultado

Busca vetorial (L2)

Mesmo respondendo sempre pela Groq, o sistema também compara o vetor da sua pergunta com os vetores já salvos, usando distância L2 ao quadrado (a métrica padrão do ChromaDB — não é cosine similarity, embora as duas meçam "proximidade" de significado de formas diferentes). Isso serve hoje principalmente para instrumentação e para a página de debug, que mostra o cálculo completo passo a passo.

Por que isso importa: a base de conhecimento cresce sozinha conforme as pessoas conversam com o chat — cada pergunta nova vira um chunk novo. Isso é ótimo para acumular contexto rapidamente, mas também significa que perguntas repetidas ou parecidas podem gerar chunks duplicados ao longo do tempo. Use o painel admin para revisar e limpar a base quando precisar.