Spaces:
Runtime error
Runtime error
File size: 1,821 Bytes
3d8b295 814e23a 3d8b295 814e23a 3d8b295 814e23a 3d8b295 814e23a 3d8b295 814e23a 3d8b295 69460b6 f75ac1d 69460b6 f75ac1d 69460b6 3d8b295 814e23a 3d8b295 9512d4d 76841eb 71364cd 19568e8 3396f08 3d8b295 19568e8 69460b6 814e23a 19568e8 3d8b295 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import gradio as gr
from transformers import AutoTokenizer
import json
tokenizer = AutoTokenizer.from_pretrained("HuggingFaceH4/zephyr-7b-beta")
demo_conversation1 = """[
{"role": "user", "content": "Hi there!"},
{"role": "assistant", "content": "Hello, human!"}
]"""
demo_conversation2 = """[
{"role": "system", "content": "You are a helpful chatbot."},
{"role": "user", "content": "Hi there!"}
]"""
default_template = """{% for message in messages %}
{{ "<|im_start|>" + message["role"] + "\\n" + message["content"] + "<|im_end|>\\n" }}
{% endfor %}
{% if add_generation_prompt %}
{{ "<|im_start|>assistant\\n" }}
{% endif %}"""
conversations = [demo_conversation1, demo_conversation2]
def apply_chat_template(template, test_conversation1, test_conversation2):
tokenizer.chat_template = template
outputs = []
for i, conversation_str in enumerate((test_conversation1, test_conversation2)):
conversation = json.loads(conversation_str)
outputs.append(tokenizer.apply_chat_template(conversation, tokenize=False))
outputs.append(with_gen = tokenizer.apply_chat_template(conversation, tokenize=False, add_generation_prompt=True))
return tuple(outputs)
output_names = ["Conversation 1 without generation prompt", "Conversation 1 with generation prompt", "Conversation 2 without generation prompt", "Conversation 2 with generation prompt"]
iface = gr.Interface(
fn=apply_chat_template,
inputs=[
gr.TextArea(value=default_template, lines=10, max_lines=30, label="Chat Template"),
gr.TextArea(value=str(demo_conversation1), lines=5, label="Conversation 1"),
gr.TextArea(value=str(demo_conversation2), lines=5, label="Conversation 2")
],
outputs=[gr.TextArea, label=output_name for output_name in output_names])
iface.launch()
|