Is the system message irrelevant for Phi3? I don't see any system message in the chat template of tokenizer_config.json.

#46
by Snehith749 - opened

I am trying to run the following code from https://huggingface.co/docs/transformers/main/model_doc/phi3

Code:
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("microsoft/Phi-3-mini-4k-instruct")
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-4k-instruct")

messages = [{"role": "system", "content": "You are a helpful digital assistant. Please provide safe, ethical and accurate information to the user."},{"role": "user", "content": "Can you provide ways to eat combinations of bananas and dragonfruits?"}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")

outputs = model.generate(inputs, max_new_tokens=32)
text = tokenizer.batch_decode(outputs)[0]
print(text)
Expected Output:
<|system|> You are a helpful digital assistant. Please provide safe, ethical and accurate information to the user.<|end|><|user|> Can you provide ways to eat combinations of bananas and dragonfruits?<|end|><|assistant|> Absolutely! Bananas and dragonfruits are both delicious fruits that can be combined in various ways to create tasty and nutrit

Output I am getting:
<|user|>
Can you provide ways to eat combinations of bananas and dragonfruits?<|end|>
<|assistant|>
Certainly! Bananas and dragonfruits can be combined in various delicious ways. Here are some ideas for eating combinations of bananas and

Is it a mistake in the documentation?

@gugarosa can you clarify this?

Microsoft org

We learned that the model was not optimized for the "system" instruction and that it produces better generations without it. Please update to the latest revision since we deployed a patch that replaces "<|system|>" with "<|user|>.

gugarosa changed discussion status to closed

Sign up or log in to comment