Aplicação de chatbot desenvolvida com Flet e integração com LLM via LangChain e Groq API. O assistente é especializado em tirar dúvidas sobre Python.
O projeto segue uma arquitetura modular simples:
main.py: Ponto de entrada da aplicação, gerencia a interface e fluxo de conversaai.py: ClasseAIBotresponsável pela comunicação com o LLM (padrão Facade)components.py: Componentes reutilizáveis da UI (Message,ChatMessage)
- Facade Pattern: A classe
AIBotencapsula a complexidade da integração com LangChain - Component Pattern: Componentes Flet customizados para mensagens de chat
- Session Management: Uso de sessões do Flet para manter histórico de conversas
- Python >= 3.9
- Conta na Groq para obter API Key
git clone https://github.com/DimitriSchulzAmado/Flet-AI-ChatBot.git
cd Flet-AI-ChatBotpip install -r requirements.txtCrie um arquivo .env na raiz do projeto:
GROQ_API_KEY=your_groq_api_key_hereflet runFlet-AI-ChatBot/
├── src/
│ ├── main.py # Aplicação principal
│ ├── ai.py # Integração com LLM
│ └── components.py # Componentes UI
├── storage/
│ ├── data/ # Armazenamento persistente
│ └── temp/ # Arquivos temporários
├── pyproject.toml # Configuração do projeto
├── requirements.txt # Dependências Python
└── README.md
- Chat interativo com interface gráfica
- Histórico de conversas por sessão
- Respostas formatadas em Markdown
- Integração com modelo Llama 3.3 70B via Groq
- Interface responsiva e intuitiva
- O assistente utiliza o modelo
llama-3.3-70b-versatileda Groq - As mensagens são renderizadas com suporte a Markdown
- O histórico de mensagens é mantido durante a sessão ativa app
Run as a desktop app:
uv run flet run
Run as a web app:
uv run flet run --web
Install dependencies from pyproject.toml:
poetry install
Run as a desktop app:
poetry run flet run
Run as a web app:
poetry run flet run --web
For more details on running the app, refer to the Getting Started Guide.
flet build apk -v
For more details on building and signing .apk or .aab, refer to the Android Packaging Guide.
flet build ipa -v
For more details on building and signing .ipa, refer to the iOS Packaging Guide.
flet build macos -v
For more details on building macOS package, refer to the macOS Packaging Guide.
flet build linux -v
For more details on building Linux package, refer to the Linux Packaging Guide.
flet build windows -v
For more details on building Windows package, refer to the Windows Packaging Guide.