wpbcpaz commited on
Commit
41ba5bc
·
verified ·
1 Parent(s): 440d296

Update app.py

Browse files

Modifiquei 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.

Files changed (1) hide show
  1. app.py +12 -10
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(message, chat_history):
875
  """
876
- Função principal de lógica do chatbot. Recebe a nova mensagem e o histórico,
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
- # Constrói o payload de mensagens
887
- messages = [{"role": "system", "content": system_prompt}]
888
- # Adiciona o histórico existente
889
- messages.extend(chat_history)
890
- # Adiciona a nova mensagem do usuário
891
- messages.append({"role": "user", "content": message})
 
892
 
893
  payload = {
894
  "model": MODELO_TEXTO,
895
- "messages": 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(message, chat_history)
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