Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,6 +2,7 @@ import gradio as gr
|
|
| 2 |
from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
|
| 3 |
import torch
|
| 4 |
from threading import Thread
|
|
|
|
| 5 |
|
| 6 |
# Load model and tokenizer
|
| 7 |
model_name = "GoofyLM/gonzalez-v1"
|
|
@@ -18,7 +19,6 @@ if tokenizer.pad_token is None:
|
|
| 18 |
|
| 19 |
# Define a custom chat template if one is not available
|
| 20 |
if tokenizer.chat_template is None:
|
| 21 |
-
# Basic ChatML-style template
|
| 22 |
tokenizer.chat_template = "{% for message in messages %}\n{% if message['role'] == 'system' %}<|system|>\n{{ message['content'] }}\n{% elif message['role'] == 'user' %}<|user|>\n{{ message['content'] }}\n{% elif message['role'] == 'assistant' %}<|assistant|>\n{{ message['content'] }}\n{% endif %}\n{% endfor %}\n{% if add_generation_prompt %}<|assistant|>\n{% endif %}"
|
| 23 |
|
| 24 |
def respond(
|
|
@@ -63,11 +63,12 @@ def respond(
|
|
| 63 |
thread = Thread(target=model.generate, kwargs=generation_kwargs)
|
| 64 |
thread.start()
|
| 65 |
|
| 66 |
-
# Stream response
|
| 67 |
response = ""
|
| 68 |
for token in streamer:
|
| 69 |
response += token
|
| 70 |
-
|
|
|
|
| 71 |
|
| 72 |
# Create Gradio interface
|
| 73 |
demo = gr.ChatInterface(
|
|
@@ -81,4 +82,4 @@ demo = gr.ChatInterface(
|
|
| 81 |
)
|
| 82 |
|
| 83 |
if __name__ == "__main__":
|
| 84 |
-
demo.launch()
|
|
|
|
| 2 |
from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer
|
| 3 |
import torch
|
| 4 |
from threading import Thread
|
| 5 |
+
import re # for cleaning unwanted tags
|
| 6 |
|
| 7 |
# Load model and tokenizer
|
| 8 |
model_name = "GoofyLM/gonzalez-v1"
|
|
|
|
| 19 |
|
| 20 |
# Define a custom chat template if one is not available
|
| 21 |
if tokenizer.chat_template is None:
|
|
|
|
| 22 |
tokenizer.chat_template = "{% for message in messages %}\n{% if message['role'] == 'system' %}<|system|>\n{{ message['content'] }}\n{% elif message['role'] == 'user' %}<|user|>\n{{ message['content'] }}\n{% elif message['role'] == 'assistant' %}<|assistant|>\n{{ message['content'] }}\n{% endif %}\n{% endfor %}\n{% if add_generation_prompt %}<|assistant|>\n{% endif %}"
|
| 23 |
|
| 24 |
def respond(
|
|
|
|
| 63 |
thread = Thread(target=model.generate, kwargs=generation_kwargs)
|
| 64 |
thread.start()
|
| 65 |
|
| 66 |
+
# Stream response with unwanted patterns removed
|
| 67 |
response = ""
|
| 68 |
for token in streamer:
|
| 69 |
response += token
|
| 70 |
+
cleaned_response = re.sub(r"<[|:].*?[|:]>", "", response) # Remove <|msg|...> or <:...:...>
|
| 71 |
+
yield cleaned_response
|
| 72 |
|
| 73 |
# Create Gradio interface
|
| 74 |
demo = gr.ChatInterface(
|
|
|
|
| 82 |
)
|
| 83 |
|
| 84 |
if __name__ == "__main__":
|
| 85 |
+
demo.launch()
|