Views
No views yet
system, user, assistant ve tool mesajlarını
birbirinden ayırması için hazırlanmış özel bir Hugging Face/Jinja2 sohbet
şablonu içerir.1<|im_start|>system
2Sistem mesajı<|im_end|>
3<|im_start|>user
4Kullanıcı mesajı<|im_end|>
5<|im_start|>assistant
6Asistan yanıtı<|im_end|><tools> bloğuna eklenir.
Asistanın araç isteği <tool_call>, dış sistemin gerçek cevabı ise
<tool_response> içinde serileştirilir.1<tool_call>
2{"name":"get_weather","arguments":{"city":"İstanbul"}}
3</tool_call>system, user, assistant ve tool rolleritools listesitool_calls kaydıadd_generation_promptchat_template.jinja: Teslim edilen asıl sohbet şablonuexamples/basic_chat.json: Normal konuşma örneğiexamples/tool_call_chat.json: Uçtan uca tool-calling örneğitests/test_chat_template.py: Render ve doğrulama testleri1from pathlib import Path
2from transformers import AutoTokenizer
3
4tokenizer = AutoTokenizer.from_pretrained("MODEL_ID")
5tokenizer.chat_template = Path("chat_template.jinja").read_text()
6
7rendered = tokenizer.apply_chat_template(
8 messages,
9 tools=tools,
10 tokenize=False,
11 add_generation_prompt=True,
12)
13print(rendered)<|im_start|> ve <|im_end|> özel tokenlarını
tanımalıdır. Farklı özel tokenlara sahip bir modelde bu iki sınır tokenı modelin
kendi tokenlarıyla değiştirilmelidir. Bir chat template modeli yeni bir formata
tek başına eğitmez; üretimde şablonun modelin eğitim formatıyla eşleşmesi gerekir.1python -m venv .venv
2source .venv/bin/activate
3pip install -e ".[test]"
4pytesttool mesajı olarak geri vermelidir.