Spaces:
Sleeping
Sleeping
Update app.py
Browse filesModifiquei a função responder_chat para "limpar" o histórico antes de enviá-lo. Ela agora cria uma nova lista messages_api contendo apenas as chaves role e content de cada mensagem, resolvendo o erro 400.
app.py
CHANGED
|
@@ -465,6 +465,7 @@ def _formatar_historico_para_html(history_list):
|
|
| 465 |
caracteres = stats.get('caracteres', 0)
|
| 466 |
hashtags = stats.get('hashtags', 0)
|
| 467 |
|
|
|
|
| 468 |
html += f"""
|
| 469 |
<div style='border: 1px solid {cor_fundo}; padding: 16px; margin: 12px 0;
|
| 470 |
border-radius: 8px; background-color: {cor_fundo}; color: {cor_texto_clara};
|
|
@@ -871,9 +872,9 @@ def gerar_imagem_robusta(descricao_pt, estilo_escolhido, qualidade, filtro_escol
|
|
| 871 |
# ============================================
|
| 872 |
# FUNÇÃO DO CHATBOT
|
| 873 |
# ============================================
|
| 874 |
-
def responder_chat(
|
| 875 |
"""
|
| 876 |
-
Função principal de lógica do chatbot. Recebe
|
| 877 |
retorna a string de resposta da IA.
|
| 878 |
"""
|
| 879 |
if not HUGGINGFACE_API_KEY:
|
|
@@ -883,16 +884,17 @@ def responder_chat(message, chat_history):
|
|
| 883 |
|
| 884 |
system_prompt = "Você é um assistente virtual prestativo e amigável, especializado em marketing de mídias sociais e criação de conteúdo, mas pode responder sobre qualquer tópico. Seja direto e útil."
|
| 885 |
|
| 886 |
-
#
|
| 887 |
-
|
| 888 |
-
|
| 889 |
-
|
| 890 |
-
|
| 891 |
-
|
|
|
|
| 892 |
|
| 893 |
payload = {
|
| 894 |
"model": MODELO_TEXTO,
|
| 895 |
-
"messages":
|
| 896 |
"max_tokens": 1500,
|
| 897 |
"temperature": 0.7,
|
| 898 |
"stream": False
|
|
@@ -923,7 +925,7 @@ def chatbot_respond(message, chat_history):
|
|
| 923 |
# 1. Adiciona a mensagem do usuário ao histórico
|
| 924 |
chat_history.append({"role": "user", "content": message})
|
| 925 |
# 2. Obtém a resposta do bot (string)
|
| 926 |
-
bot_response_str = responder_chat(
|
| 927 |
# 3. Adiciona a resposta do bot ao histórico
|
| 928 |
chat_history.append({"role": "assistant", "content": bot_response_str})
|
| 929 |
# 4. Retorna a caixa de texto vazia e o histórico atualizado
|
|
|
|
| 465 |
caracteres = stats.get('caracteres', 0)
|
| 466 |
hashtags = stats.get('hashtags', 0)
|
| 467 |
|
| 468 |
+
# CORREÇÃO: Aplicado 'cor_texto_clara' a todos os spans de texto
|
| 469 |
html += f"""
|
| 470 |
<div style='border: 1px solid {cor_fundo}; padding: 16px; margin: 12px 0;
|
| 471 |
border-radius: 8px; background-color: {cor_fundo}; color: {cor_texto_clara};
|
|
|
|
| 872 |
# ============================================
|
| 873 |
# FUNÇÃO DO CHATBOT
|
| 874 |
# ============================================
|
| 875 |
+
def responder_chat(chat_history):
|
| 876 |
"""
|
| 877 |
+
Função principal de lógica do chatbot. Recebe o histórico,
|
| 878 |
retorna a string de resposta da IA.
|
| 879 |
"""
|
| 880 |
if not HUGGINGFACE_API_KEY:
|
|
|
|
| 884 |
|
| 885 |
system_prompt = "Você é um assistente virtual prestativo e amigável, especializado em marketing de mídias sociais e criação de conteúdo, mas pode responder sobre qualquer tópico. Seja direto e útil."
|
| 886 |
|
| 887 |
+
# --- INÍCIO DA CORREÇÃO ---
|
| 888 |
+
# Limpar o histórico para a API, removendo chaves extras
|
| 889 |
+
messages_api = [{"role": "system", "content": system_prompt}]
|
| 890 |
+
for msg in chat_history:
|
| 891 |
+
# Apenas adiciona 'role' e 'content'
|
| 892 |
+
messages_api.append({"role": msg["role"], "content": msg["content"]})
|
| 893 |
+
# --- FIM DA CORREÇÃO ---
|
| 894 |
|
| 895 |
payload = {
|
| 896 |
"model": MODELO_TEXTO,
|
| 897 |
+
"messages": messages_api, # Usar a lista limpa
|
| 898 |
"max_tokens": 1500,
|
| 899 |
"temperature": 0.7,
|
| 900 |
"stream": False
|
|
|
|
| 925 |
# 1. Adiciona a mensagem do usuário ao histórico
|
| 926 |
chat_history.append({"role": "user", "content": message})
|
| 927 |
# 2. Obtém a resposta do bot (string)
|
| 928 |
+
bot_response_str = responder_chat(chat_history) # Modificado: não passa mais 'message'
|
| 929 |
# 3. Adiciona a resposta do bot ao histórico
|
| 930 |
chat_history.append({"role": "assistant", "content": bot_response_str})
|
| 931 |
# 4. Retorna a caixa de texto vazia e o histórico atualizado
|