Skip to content

Latest commit

 

History

History
161 lines (111 loc) · 3.7 KB

File metadata and controls

161 lines (111 loc) · 3.7 KB

Flet AI

Python Flet 0.28.3 LangChain-Groq 1.0.0 Python-Decouple 3.8

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.

🏗️ Arquitetura

O projeto segue uma arquitetura modular simples:

  • main.py: Ponto de entrada da aplicação, gerencia a interface e fluxo de conversa
  • ai.py: Classe AIBot responsável pela comunicação com o LLM (padrão Facade)
  • components.py: Componentes reutilizáveis da UI (Message, ChatMessage)

Padrões de Projeto

  • Facade Pattern: A classe AIBot encapsula 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

📋 Pré-requisitos

  • Python >= 3.9
  • Conta na Groq para obter API Key

⚙️ Configuração

1. Clone o repositório

git clone https://github.com/DimitriSchulzAmado/Flet-AI-ChatBot.git
cd Flet-AI-ChatBot

2. Instale as dependências

pip install -r requirements.txt

3. Configure as variáveis de ambiente

Crie um arquivo .env na raiz do projeto:

GROQ_API_KEY=your_groq_api_key_here

4. Execute a aplicação

flet run

📁 Estrutura do Projeto

Flet-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

🚀 Funcionalidades

  • 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

📝 Notas

  • O assistente utiliza o modelo llama-3.3-70b-versatile da Groq
  • As mensagens são renderizadas com suporte a Markdown
  • O histórico de mensagens é mantido durante a sessão ativa app

Run the app

uv

Run as a desktop app:

uv run flet run

Run as a web app:

uv run flet run --web

Poetry

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.

Build the app

Android

flet build apk -v

For more details on building and signing .apk or .aab, refer to the Android Packaging Guide.

iOS

flet build ipa -v

For more details on building and signing .ipa, refer to the iOS Packaging Guide.

macOS

flet build macos -v

For more details on building macOS package, refer to the macOS Packaging Guide.

Linux

flet build linux -v

For more details on building Linux package, refer to the Linux Packaging Guide.

Windows

flet build windows -v

For more details on building Windows package, refer to the Windows Packaging Guide.