Arquitetura do Projeto Chizu
Este documento descreve, de forma simples e didática, como o Chizu está organizado internamente e como seus componentes se conectam.
Visão Geral da Arquitetura
O Chizu segue uma arquitetura modular, organizada em camadas, com o objetivo de:
- Facilitar o entendimento do sistema.
- Tornar o código mais limpo.
- Permitir evolução e manutenção contínua.
De forma resumida, o fluxo principal é:
Usuário → API Web → Busca Semântica → Geração de Resposta → Usuário
Estrutura Geral de Pastas
A estrutura principal do projeto é:
Chizu/
├── core/
├── data/
├── textos/
├── scripts/
├── docs/
├── web.py
├── zen.py
└── Makefile
Cada pasta possui uma função específica dentro do sistema.
Camada de Interface (API Web)
A interface com o usuário ocorre por meio de uma API Web, construída com FastAPI (framework web em Python).
Funções principais:
- Receber perguntas via HTTP (protocolo de comunicação web).
- Enviar a pergunta para o motor interno.
- Retornar a resposta ao usuário.
Arquivos principais:
- web.py
- zen.py
Camada de Processamento Central (core)
A pasta core/ contém o núcleo lógico do ZenBot.
core/
├── embeddings.py
├── search.py
└── engine.py
Função de cada módulo:
-
embeddings.py
Responsável por gerar vetores semânticos (embeddings, ou representações matemáticas do significado dos textos). -
search.py
Realiza a busca semântica (busca por significado, e não apenas por palavras-chave), encontrando os trechos mais relevantes. -
engine.py
Coordena todo o processo:
pergunta → busca → montagem do contexto → resposta final.
Camada de Dados e Textos
Pasta textos/
Contém os textos-base usados como fonte de conhecimento, tais como:
- PDFs
- Textos limpos
- Fragmentos (chunks, ou pedaços menores de texto)
Pasta data/
Armazena:
- Arquivos de embeddings.
- Índices vetoriais.
- Dados intermediários usados para acelerar as buscas.
Camada de Scripts Auxiliares
A pasta scripts/ contém ferramentas para:
- Extração de texto de PDF.
- Limpeza textual.
- Fragmentação em blocos menores.
- Preparação dos dados para geração de embeddings.
Esses scripts formam o pipeline de preparação do conhecimento.
Fluxo Simplificado de Funcionamento
- O usuário faz uma pergunta.
- A API recebe a requisição.
- O motor central (
engine) processa a pergunta. - O sistema de busca localiza os trechos mais relevantes.
- O contexto é montado.
- A IA gera a resposta.
- A resposta retorna ao usuário.
Princípios de Arquitetura
- Simplicidade
- Modularidade
- Clareza
- Facilidade de evolução
- Foco educacional
Conclusão
A arquitetura do Chizu foi pensada não apenas para funcionar, mas também para ensinar, permitindo que qualquer pessoa possa compreender seu funcionamento interno e contribuir com melhorias. Quando quiser, seguimos no mesmo ritmo calmo com: