ajsbsd commited on
Commit
aca2abc
·
verified ·
1 Parent(s): 2df6b47

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -6
app.py CHANGED
@@ -81,12 +81,15 @@ def predict_chat(message: str, history: list):
81
  yield "Error: Model or tokenizer failed to load. Please check the Space logs for details."
82
  return
83
 
84
- # Gradio history is already formatted as a list of lists: [[user_msg, bot_msg], ...]
85
- # We need to convert it to the format expected by the tokenizer's chat template.
86
  messages = [{"role": "system", "content": "You are a friendly chatbot."}]
87
- for human, assistant in history:
88
- messages.append({"role": "user", "content": human})
89
- messages.append({"role": "assistant", "content": assistant})
 
 
 
 
90
  messages.append({"role": "user", "content": message})
91
 
92
  generated_text = ""
@@ -97,7 +100,6 @@ def predict_chat(message: str, history: list):
97
  print("Using GGUF model generation path.")
98
  # Apply chat template for GGUF models as well,
99
  # though ctransformers might expect a simpler string.
100
- # This can be adjusted if the model has a specific prompt format.
101
  # For Llama-based models, the tokenizer.apply_chat_template should work.
102
  prompt_input = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
103
 
 
81
  yield "Error: Model or tokenizer failed to load. Please check the Space logs for details."
82
  return
83
 
84
+ # Initialize messages list with system message
 
85
  messages = [{"role": "system", "content": "You are a friendly chatbot."}]
86
+
87
+ # Extend messages with the existing history directly
88
+ # Gradio's gr.Chatbot(type='messages') passes history as a list of dictionaries
89
+ # with 'role' and 'content' keys, which is compatible with apply_chat_template.
90
+ messages.extend(history)
91
+
92
+ # Append the current user message
93
  messages.append({"role": "user", "content": message})
94
 
95
  generated_text = ""
 
100
  print("Using GGUF model generation path.")
101
  # Apply chat template for GGUF models as well,
102
  # though ctransformers might expect a simpler string.
 
103
  # For Llama-based models, the tokenizer.apply_chat_template should work.
104
  prompt_input = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
105