Spaces:
Sleeping
Sleeping
Update app.py
Browse filesRetificação do chatbot e revisão para remover componentes obsoletos do Gradio 4
app.py
CHANGED
|
@@ -61,9 +61,9 @@ ESTILOS_DISPONIVEIS = [
|
|
| 61 |
]
|
| 62 |
|
| 63 |
FORMATO_CONFIGS = {
|
| 64 |
-
"Instagram (Post)": {"tamanho": "100-150 palavras", "estrutura": "gancho inicial + desenvolvimento + call-to-action
|
| 65 |
"Twitter/X (Curto)": {"tamanho": "Até 280 caracteres", "estrutura": "frase de impacto + link/hashtag", "tom_adicional": "direto e conciso, ideal para tweets", "max_tokens": 150, "limite_palavras_ia": "280 caracteres", "hashtags": "Incluir no máximo 2 hashtags."},
|
| 66 |
-
"LinkedIn (Artigo)": {"tamanho": "250-400 palavras", "estrutura": "título chamativo + desenvolvimento profissional + reflexão", "tom_adicional": "profissional e autoritário", "focado em insights"
|
| 67 |
}
|
| 68 |
|
| 69 |
# Variável global para armazenar o histórico de sessão (agora é um cache)
|
|
@@ -336,7 +336,7 @@ def gerar_imagem(descricao):
|
|
| 336 |
return None
|
| 337 |
|
| 338 |
# ============================================
|
| 339 |
-
# NOVA FUNÇÃO DO CHATBOT
|
| 340 |
# ============================================
|
| 341 |
def responder_chat(message, chat_history):
|
| 342 |
"""
|
|
@@ -353,9 +353,9 @@ def responder_chat(message, chat_history):
|
|
| 353 |
# 2. Construir o histórico no formato da API
|
| 354 |
messages = [{"role": "system", "content": system_prompt}]
|
| 355 |
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
|
| 360 |
# 3. Adicionar a nova mensagem do usuário
|
| 361 |
messages.append({"role": "user", "content": message})
|
|
@@ -458,7 +458,8 @@ def gerar_post_interface(tema, nicho, estilo, descricao_imagem, gerar_img, progr
|
|
| 458 |
# INTERFACE GRADIO (Com Chatbot)
|
| 459 |
# ============================================
|
| 460 |
|
| 461 |
-
|
|
|
|
| 462 |
primary_hue="blue", # Azul como base
|
| 463 |
secondary_hue="gray", # Contraste frio e sofisticado
|
| 464 |
neutral_hue="stone", # Tom neutro suave
|
|
@@ -528,7 +529,8 @@ with gr.Blocks(theme=custom_theme, title="Gerador de Posts e Chatbot") as demo:
|
|
| 528 |
)
|
| 529 |
|
| 530 |
def toggle_descricao_img(gerar):
|
| 531 |
-
|
|
|
|
| 532 |
|
| 533 |
gerar_img_checkbox.change(
|
| 534 |
toggle_descricao_img,
|
|
@@ -644,8 +646,10 @@ with gr.Blocks(theme=custom_theme, title="Gerador de Posts e Chatbot") as demo:
|
|
| 644 |
],
|
| 645 |
chatbot=chatbot_para_interface, # Passando o componente chatbot customizado
|
| 646 |
textbox=gr.Textbox(placeholder="Digite sua mensagem aqui...", scale=7),
|
| 647 |
-
submit_btn="Enviar",
|
| 648 |
-
|
|
|
|
|
|
|
| 649 |
)
|
| 650 |
|
| 651 |
# ABA 2: Histórico (Exibe o Dataframe)
|
|
|
|
| 61 |
]
|
| 62 |
|
| 63 |
FORMATO_CONFIGS = {
|
| 64 |
+
"Instagram (Post)": {"tamanho": "100-150 palavras", "estrutura": "gancho inicial + desenvolvimento + call-to-action", "tom_adicional": "próximo, empático e motivador", "max_tokens": 350, "limite_palavras_ia": "150 palavras", "hashtags": "Incluir 4-5 hashtags relevantes no final. Incluir no máximo 3 emojis relevantes no texto."},
|
| 65 |
"Twitter/X (Curto)": {"tamanho": "Até 280 caracteres", "estrutura": "frase de impacto + link/hashtag", "tom_adicional": "direto e conciso, ideal para tweets", "max_tokens": 150, "limite_palavras_ia": "280 caracteres", "hashtags": "Incluir no máximo 2 hashtags."},
|
| 66 |
+
"LinkedIn (Artigo)": {"tamanho": "250-400 palavras", "estrutura": "título chamativo + desenvolvimento profissional + reflexão", "tom_adicional": "profissional e autoritário", "focado em insights", "max_tokens": 700, "limite_palavras_ia": "400 palavras", "hashtags": "Incluir 3-4 hashtags profissionais no final."},
|
| 67 |
}
|
| 68 |
|
| 69 |
# Variável global para armazenar o histórico de sessão (agora é um cache)
|
|
|
|
| 336 |
return None
|
| 337 |
|
| 338 |
# ============================================
|
| 339 |
+
# NOVA FUNÇÃO DO CHATBOT (CORRIGIDA)
|
| 340 |
# ============================================
|
| 341 |
def responder_chat(message, chat_history):
|
| 342 |
"""
|
|
|
|
| 353 |
# 2. Construir o histórico no formato da API
|
| 354 |
messages = [{"role": "system", "content": system_prompt}]
|
| 355 |
|
| 356 |
+
# CORREÇÃO: chat_history (quando type="messages") já é uma List[Dict[str, str]]
|
| 357 |
+
# Podemos simplesmente estendê-lo
|
| 358 |
+
messages.extend(chat_history)
|
| 359 |
|
| 360 |
# 3. Adicionar a nova mensagem do usuário
|
| 361 |
messages.append({"role": "user", "content": message})
|
|
|
|
| 458 |
# INTERFACE GRADIO (Com Chatbot)
|
| 459 |
# ============================================
|
| 460 |
|
| 461 |
+
# ATUALIZADO: gr.themes.Glass é obsoleto no Gradio 4.x. Usando gr.themes.Soft.
|
| 462 |
+
custom_theme = gr.themes.Soft(
|
| 463 |
primary_hue="blue", # Azul como base
|
| 464 |
secondary_hue="gray", # Contraste frio e sofisticado
|
| 465 |
neutral_hue="stone", # Tom neutro suave
|
|
|
|
| 529 |
)
|
| 530 |
|
| 531 |
def toggle_descricao_img(gerar):
|
| 532 |
+
# ATUALIZADO: gr.update() é obsoleto no Gradio 4.x
|
| 533 |
+
return gr.Textbox(visible=gerar)
|
| 534 |
|
| 535 |
gerar_img_checkbox.change(
|
| 536 |
toggle_descricao_img,
|
|
|
|
| 646 |
],
|
| 647 |
chatbot=chatbot_para_interface, # Passando o componente chatbot customizado
|
| 648 |
textbox=gr.Textbox(placeholder="Digite sua mensagem aqui...", scale=7),
|
| 649 |
+
submit_btn="Enviar",
|
| 650 |
+
# clear_btn="Limpar Conversa", # Removido conforme solicitado
|
| 651 |
+
retry_btn=None, # Oculta botões desnecessários
|
| 652 |
+
undo_btn=None,
|
| 653 |
)
|
| 654 |
|
| 655 |
# ABA 2: Histórico (Exibe o Dataframe)
|