peace-chatbot / README.md
wpbcpaz's picture
Update README.md
b29c045 verified

A newer version of the Gradio SDK is available: 6.3.0

Upgrade
metadata
title: Peace Chatbot
emoji: 📚
colorFrom: blue
colorTo: gray
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: true
hf_oauth: true
hf_oauth_scopes:
  - inference-api
thumbnail: >-
  https://cdn-uploads.huggingface.co/production/uploads/68d5789accf464a96aad3811/XvUZJReyjnkQteBk82VEG.png
short_description: Peace Chatbot  Gerador de Posts com Inteligência Artificial

🕊️ Peace Chatbot – Gerador de Posts com Inteligência Artificial

Peace Chatbot Logo

Licença customizada para uso educativo Licença: Não Comercial Hugging Face Spaces Python 3.10 Gradio 4.0 Status Ativo

Um assistente de mídias sociais inovador que utiliza inteligência artificial generativa para desenvolver posts, legendas e imagens, maximizando sua presença digital. Perfeito para criadores de conteúdo, profissionais de mídia social e qualquer pessoa interessada em transmitir narrativas de paz, ancestralidade e transformação.

Inspiração: Este projeto nasce da vontade de aprender sobre tecnologia através do curso de Hugging Face e IA. A inteligência artificial aqui é usada como ferramenta para fortalecer narrativas de paz, ancestralidade, sabedoria e transformação pessoal — com liberdade para explorar nichos diversos.


🚀 Demonstração Interativa

🔗 Experimente Agora

Acesse e teste o chatbot diretamente no Hugging Face Spaces:

➡️ Abrir no Hugging Face Spaces

🎬 Veja Funcionando

Demo Animado 5 cliques: nicho → estilo → tema → formato → gerar post!

📸 Interface

Interface limpa e profissional Interface Principal

Clique para expandir as demais Interfaces do Peace Chatbot

Interface aproximada da funcionalidade Gerar Post

Gerar Post

Interface aproximada do texto e imagem gerados

Resultado

Exemplos para experimentar de posts gerados

Exempos Posts gerados

Interface do Histórico de Posts

Histórico de Posts

Interface do Analytics com estatísticas básicas da aplicação

Analytics


✨ Funcionalidades Principais

  • 📝 Geração de Texto Personalizada: Crie posts com estilos variados (informal, poético, educativo, etc.).
  • 🎨 Criação de Imagens com IA: Gere uma imagem ilustrativa opcional para acompanhar seu texto.
  • 🎯 Suporte a Nichos Diversos: Explore temas como cultura, espiritualidade, educação, motivação, autoconhecimento e muito mais.
  • 📋 Cópia Fácil: Um botão dedicado para copiar o texto gerado com um único clique.
  • 🎨 Interface Intuitiva: Um design limpo e agradável construído com o tema Glass do Gradio.

💻 Como Utilizar

Clique para expandir o guia passo a passo detalhado

1️⃣ Escolha o Nicho

Passo 1 Escolha uma categoria que será o nicho do seu post.

  • 💪 Fitness e Vida Saudável
  • 🥗 Alimentação
  • 🧠 Motivação e Desenvolvimento Pessoal
  • 💼 Negócios
  • ✈️ Viagens
  • 💻 Tecnologia

2️⃣ Selecione o Estilo

Passo 2 Defina o tom do texto:

  • Inspirador - Motivacional
  • 📚 Educativo - Informativo
  • 😄 Divertido - Descontraído
  • 👔 Profissional - Técnico

3️⃣ Defina um Tema para o Post

Passo 3 Seja específico sobre o que você quer falar. Exemplo: "Frases marcantes de pessoas importantes", "Empreender informalmente no Brasil", "Gratidão", "Axé".

4️⃣ Defina um Formato de saída para o Post

Passo 4 Esolha um Formato de Saída desejado, conforme desejado. Exemplo: "Instagram (Post)", "Twitter/X (Curto)", "LinkedIn (Artigo)" ou "WhatsApp"

5️⃣ Configure a Imagem (Opcional)

Passo 5

  • ☑️ Marque "Gerar imagem"
  • 📝 Descreva a imagem (ex: "pessoa fazendo uma atividade na frente do computador")
  • 🖼️ Escolha o estilo: Pixar / Quente / Fotografia Vintage / Arte digital
  • ⏱️ Escolha a qualidade da imagem entre "Rápida", "Balanceada" ou "Alta"
  • 🌈 Escolha o filtro da Imagem: (ex: Quente / Preto e Branco / Sépia)

6️⃣ Clique em Gerar Post

Passo 6 Clique no botão grande: "✨ Gerar Post Completo" ⏳ Aguarde 10-30 segundos...

7️⃣ Use o Resultado!

Passo 7

Você recebe:

  • ✅ Legenda completa
  • ✅ Imagem profissional
  • ✅ Botão de download
  • ✅ Estatísticas

Próximos passos:

  1. 📋 Copie o texto (use o botão de cópia).
  2. 💾 Baixe a imagem.
  3. 📱 Publique! (Instagram, Facebook, LinkedIn, etc.)

🛠️ Pilha Tecnológica (Tech Stack)

  • Interface: 🎨 Gradio 4.x - Para a interface web interativa.
  • Linguagem: 🐍 Python 3.10
  • Bibliotecas: 🖼️ Pillow (para imagens), 📡 Requests (para APIs).
  • Hospedagem: ☁️ Hugging Face Spaces (com Docker).
  • Armazenamento: 💾 JSON (para dados locais e cache).

Modelos de IA (via Inference API)

  • Geração de Texto: 📝 meta-llama/Llama-3.1-8B-Instruct
  • Geração de Imagem: 🎨 black-forest-labs/FLUX.1-schnell
  • Tradução (para prompt de imagem): 🌍 Opus-mt-pt-en (Helsinki-NLP)

🔮 Roadmap (Próximos Passos)

O projeto está em constante evolução!

✅ v1.0

  • Geração de texto com IA
  • Geração de imagem com IA
  • Sistema de cache simples
  • Histórico de posts gerados
  • Analytics (visualizações)

✅ v2.0

  • Exportar histórico para CSV
  • Persistência em Nuvem via Firebase
  • Adicionar mais 10+ nichos e estilos
  • Editor de texto inline (para refinar o post)
  • Tradução do Português para o inglês, a fim de melhorar o prompt de imagem

✅ v3.0

  • Download do Post (ZIP)
  • Editor de Texto Inline
  • Download Apenas da Imagem
  • Filtros de Imagem

🔮 v4.1 (Atual)

  • Seleção de Modelo de Imagem
  • Parâmetros de Qualidade da Imagem
  • Estilos de Imagem por Nicho
  • Cálculo de Metadados
  • Visualização do Histórico (Markdown)
  • Correções de Bugs e Tarefas Técnicas
  • Codificação CSV (UTF-8)
  • Nomes de Arquivo para Download Padrão

🚧 v5.0 (Planejado)

  • Preview de como o post ficará no Instagram
  • Integração com API do Instagram (agendamento)
  • Suporte multi-idioma (tradução automática)
  • Sistema de templates (ex: "Post de TBT", "Dica Rápida")
  • Sugestões de Hashtags e análise de engajamento

🤝 Como Contribuir

Contribuições são muito bem-vindas! Você pode colaborar de duas formas:

1. Via Hugging Face (Recomendado para sugestões)

  1. Acesse o Space: https://huggingface.co/spaces/wpbcpaz/peace-chatbot
  2. Clique em “⋮” (menu de opções) e selecione “Duplicate this Space”.
  3. Edite o código no seu Space duplicado (na aba "Files").
  4. Teste suas alterações e envie o link do seu Space para mim com a descrição da melhoria.

2. Via GitHub (Para contribuições de código)

# 1. Clone o repositório
git clone [https://github.com/wilderpaz/peace-chatbot.git](https://github.com/wilderpaz/peace-chatbot.git)

# 2. Crie sua branch
git checkout -b feature/minha-feature

# 3. Faça commit das suas mudanças
git commit -m "feat: Adiciona nova funcionalidade incrível"

# 4. Envie para o GitHub
git push origin feature/minha-feature

# 5. Abra um Pull Request

💻 Configuração Local

Para rodar o projeto na sua máquina:

🖥️ Instalação

# 1. Clone o repositório
git clone [https://github.com/wilderpaz/peace-chatbot.git](https://github.com/wilderpaz/peace-chatbot.git)

# 2. Navegue até o diretório
cd peace-chatbot

# 3. Instale as dependências
pip install -r requirements.txt

# 4. Execute a aplicação
python app.py

🐞 Erros Comuns e Soluções

  • NameError: name 'custom_theme' is not defined
    • Solução: Defina a variável custom_theme antes de usá-la no gr.Blocks.
  • TypeError: Textbox.__init__() got an unexpected keyword argument 'copyable'
    • Solução: Este argumento requer Gradio 4.x. Atualize sua versão: pip install --upgrade gradio.
  • TypeError: event_trigger() got an unexpected keyword argument '_js'
    • Solução: O argumento _js foi depreciado no Gradio 4.x. Use copyable=True no gr.Textbox ou implemente um botão de cópia com gr.Button e gr.Clipboard.

👤 Sobre o Autor

Olá, sou Wilder Paz, desenvolvedor e entusiasta de IA apaixonado por criar soluções que unem tecnologia e marketing digital.

Criado em 📍 Salvador, Bahia, Brasil.

❓ FAQ (Perguntas Frequentes)

O chatbot funciona em português?

  • Sim! Ele foi otimizado para interagir em português, com foco em redes sociais brasileiras.

Posso usar para criar posts de qualquer nicho?

  • Sim! Embora tenhamos pré-seleções (como Fitness, Tecnologia, etc.), você pode definir qualquer assunto no campo "Tema do Post" para gerar conteúdo especializado.

Quanto tempo demora para gerar um post?

  • Geralmente, um post completo (texto e imagem) é gerado em 10 a 30 segundos. O tempo pode variar dependendo da complexidade do pedido e da carga atual nos modelos de IA.

Preciso gerar uma imagem com todo post?

  • Não. A geração de imagem é totalmente opcional. Para gerar apenas o texto, simplesmente deixe a caixa "Gerar imagem" desmarcada.

Qual a diferença entre "Nicho", "Estilo" e "Tema"?

  • Nicho: É a categoria geral do seu conteúdo (ex: "Negócios").
  • Estilo: É o tom de voz do texto (ex: "Profissional").
  • Tema: É a sua instrução específica sobre o que escrever (ex: "A importância do networking para pequenas empresas"). Um tema bem detalhado gera resultados melhores.

A imagem gerada não tem a ver com meu texto. Por quê?

  • A IA que gera a imagem se baseia apenas no que você escreve no campo "Descrição da imagem", e não no texto do post. Para melhores resultados, seja descritivo nesse campo (ex: "Um aperto de mão fechando um negócio em um escritório moderno").

Posso editar o texto depois que ele é gerado?

  • Ainda não diretamente na aplicação. A funcionalidade "Editor de Texto Inline" está planejada (conforme o Roadmap v1.1). Por enquanto, você pode usar o botão "📋 Copiar Texto" e colar o conteúdo em qualquer editor de sua preferência (como Bloco de Notas, Google Docs, etc.) para fazer ajustes.

Como faço para baixar o texto e a imagem juntos?

  • Atualmente, você precisa copiar o texto e baixar a imagem separadamente. A funcionalidade de "Download do Post (.zip)", que unirá os dois arquivos, é uma melhoria futura que está em nossa lista de tarefas.

O chatbot pode agendar ou postar diretamente no meu Instagram?

  • Ainda não. Essa funcionalidade ("Integração com API do Instagram") é um recurso avançado planejado para a versão 3.0 do projeto.

O uso do Peace Chatbot é gratuito?

  • Sim. Este projeto é disponibilizado para uso pessoal, educacional e de pesquisa na plataforma Hugging Face Spaces.

Apareceu um "Erro 402". O que isso significa? * Isso geralmente indica que a aplicação atingiu um limite de uso (rate limit) na plataforma Hugging Face, talvez por um número muito alto de acessos simultâneos. Por favor, aguarde alguns minutos e tente gerar seu post novamente.

📜 Licença

License: Custom Status

Este projeto é disponibilizado para uso pessoal, educacional e de pesquisa.
O uso comercial é proibido sem autorização prévia e por escrito do autor.

Consulte o arquivo LICENSE para mais detalhes.


📝 Lista de Tarefas e Melhorias - Peace Chatbot

🚀 Novas Funcionalidades Principais

  • Download do Post (ZIP): Implementar um botão "Baixar Post (.zip)" que crie um arquivo ZIP contendo o post.txt (codificado em UTF-8) e a imagem.png.
  • Editor de Texto Inline: Adicionar um botão "✏️ Refinar Post" que torne a caixa de texto de saída (output_post) interativa (interactive=True) para permitir edições rápidas.
  • Download Apenas da Imagem: Adicionar um botão dedicado para fazer o download somente da imagem gerada (ex: imagem.png).
  • Filtros de Imagem: Criar uma nova opção para que o usuário possa aplicar filtros na imagem gerada (ex: preto e branco, escala de cinza, azul, rosa, etc.).

🖼️ Melhorias na Geração de Imagem

  • Seleção de Modelo de Imagem: Permitir que o usuário escolha qual modelo de IA usar para a geração da imagem (ex: FLUX.1-schnell, FLUX.1-dev, Stable Diffusion XL).
  • Parâmetros de Qualidade da Imagem: Implementar uma configuração de qualidade (ex: "rápida", "balanceada", "alta") que ajuste os parâmetros de geração (como steps e quais modelos tentar).
  • Estilos de Imagem por Nicho: Expandir a funcionalidade estilos_por_nicho para cobrir os demais nichos, mantendo a tradução interna para o inglês para otimizar o prompt.

📊 Refatoração do Histórico e Estatísticas

  • Cálculo de Metadados: Na função principal de geração, calcular e salvar estatísticas para cada post:
    • Quantidade de palavras
    • Quantidade de caracteres
    • Quantidade de hashtags (#)
  • Visualização do Histórico (Markdown): Substituir a exibição do histórico de gr.DataFrame para gr.Markdown, formatando cada entrada com os novos metadados (Tema, Data/Hora, Nicho, Estilo, Formato, Estatísticas).
  • Cores Dinâmicas no Histórico: Na função _formatar_historico_para_html, adicionar parâmetros de background baseados no nicho, usando cores escuras e texto claro para garantir o contraste.
  • Formato de Saída "WhatsApp": Adicionar "WhatsApp" como opção no gr.Dropdown de 'Formato', instruindo o LLM a usar a formatação nativa (ex: *negrito*, _itálico_).
  • Exportação para CSV: Adicionar um botão "Exportar Histórico para CSV" que converta os dados do histórico (gr.State) em um arquivo CSV para download.
  • Emojis nas Estatísticas: Adicionar emojis aos rótulos do componente de Estatísticas do Texto (ex: 📝 Palavras, 📏 Caracteres, #️⃣ Hashtags).

🎨 Melhorias de UI/UX e Textos

  • gr.Examples Avançado: Atualizar os gr.Examples para que um clique preencha não apenas o Tema e Nicho, mas também todas as configurações de imagem relacionadas (checkboxes, dropdowns, rádios, etc.).
  • Botão "Limpar Tudo": Implementar um botão para limpar o campo "Tema do Post" e resetar os demais campos para seus valores padrão.
  • Emojis na Interface: Inserir um emoji que combine com o rótulo de cada campo/componente da aplicação para melhorar a identificação visual.
  • Estilização de Títulos: Aplicar um background destacado (mas dentro da paleta de cores do tema) para cada título de seção/grupo no app.
  • Organização da Interface (Layout): Melhorar o UX/UI separando os componentes em gr.Group e usando gr.Markdown("") como espaçadores visuais.
  • Limpeza de Textos (UI):
    • Na área de exemplos, remover "(Velocidade vs Qualidade)".
    • Alterar "Gerar imagem para o post?" para "Gerar imagem".
    • Simplificar "⚡ Usar Cache? (Acelera posts repetidos)" para "⚡ Usar Cache?".
  • Limpeza de Emojis (Input): Retirar os emojis da lista de nichos_diponiveis.
  • Limpeza de Botões (Gradio): Remover os botões clear_btn, retry_btn, e undo_btn (que não estão funcionando ou não são necessários).

🔧 Correções de Bugs e Tarefas Técnicas

  • Correção do Botão "Copiar Texto": O botão para copiar o texto gerado não está funcionando e precisa ser retificado.
  • Persistência em Nuvem (Firebase): Implementar o firebase-admin para salvar os dados (como o histórico de posts) na nuvem.
  • Corrigir Data/Hora (Fuso Horário): Implementar ZoneInfo para garantir que as datas/horas sejam salvas no fuso horário local correto.
  • Implementar "Limpar Cache": Adicionar o botão "🗑️ Limpar Cache" e conectar as funções limpar_cache e limpar_cache_feedback.
  • Formatação de Saída .txt: Ao implementar o download ZIP, garantir que o arquivo post.txt seja salvo com codificação UTF-8 para preservar acentos, emojis e caracteres especiais.
  • Remover Parâmetro de Chat: Retirar o parâmetro bubble_full_width.
  • Investigar Erro 402: Registrar que o uso intensivo do Space está gerando um erro 402 (Payment Required / Rate Limit), o que pode exigir monitoramento ou otimização.
  • Codificação CSV (UTF-8): Modificada a função exportar_historico_csv para escrever o arquivo CSV diretamente com encoding='utf-8' e newline='', o que garante a formatação correta de todos os caracteres especiais e emojis.
  • Nomes de Arquivo Padrão: Os arquivos de download agora são salvos com os nomes postpeacechatbot001.zip e posthistpeacechatbot001.csv no diretório de cache antes de serem oferecidos para download, garantindo nomes consistentes.

📚 Expansão de Conteúdo (Novos Nichos)

  • Educação: Tutor interativo (matemática, ciências, idiomas), quizzes.
  • Produtividade: Organizador de tarefas, técnicas de foco (Pomodoro), listas.
  • Entretenimento: Histórias curtas, jogos de perguntas e respostas, poemas/piadas.
  • Relacionamentos & Comunicação: Simulação de entrevistas, treino de conversação, dicas de comunicação não violenta.
  • Espiritualidade & Filosofia: Frases inspiradoras, reflexões diárias, guia de journaling.
  • Dicas Jurídicas e de Segurança Pública: Dicas sobre ilícitos (baseadas nas leis brasileiras), sugestão de consultas e lembrete de atualização.