Downloads · 30 days
0
berkbirkan/custom-chat-template
custom-chat-template is a machine learning model from berkbirkan. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Bu depo, bir dil modelinin system, user, assistant ve tool mesajlarını birbirinden ayırması için hazırlanmış özel bir Hugging Face/Jinja2 sohbet şablonu içerir.
Downloads · 30 days
0
Access
Public
Updated Aug 3, 2026
Repo size
—
Likes
0
Public
Click a slice to open those files.
.py3.3 KB · 25%
From the Hugging Face model README
Bu depo, bir dil modelinin system, user, assistant ve tool mesajlarını
birbirinden ayırması için hazırlanmış özel bir Hugging Face/Jinja2 sohbet
şablonu içerir.
Şablon ChatML rol sınırlarını kullanır:
<|im_start|>system
Sistem mesajı<|im_end|>
<|im_start|>user
Kullanıcı mesajı<|im_end|>
<|im_start|>assistant
Asistan yanıtı<|im_end|>
Araç tanımları OpenAI uyumlu JSON Schema biçiminde <tools> bloğuna eklenir.
Asistanın araç isteği <tool_call>, dış sistemin gerçek cevabı ise
<tool_response> içinde serileştirilir.
<tool_call>
{"name":"get_weather","arguments":{"city":"İstanbul"}}
</tool_call>
Bu ayrım modelin bir aracı çalıştırmadığını, yalnızca uygulamanın çalıştırması için yapılandırılmış bir istek ürettiğini açık tutar.
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 testleriŞablon bir tokenizer'a atanabilir:
from pathlib import Path
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("MODEL_ID")
tokenizer.chat_template = Path("chat_template.jinja").read_text()
rendered = tokenizer.apply_chat_template(
messages,
tools=tools,
tokenize=False,
add_generation_prompt=True,
)
print(rendered)
Kullanılan model/tokenizer <|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.
Python 3.9 veya üzeriyle:
python -m venv .venv
source .venv/bin/activate
pip install -e ".[test]"
pytest
Testler rol sınırlarını, tool tanımlarını, tool çağrı/cevaplarını, generation prompt davranışını ve geçersiz girdilerde hata üretimini doğrular.
Şablon, tool yanıtını assistant mesajından ayrı tutar ve varsayılan system
mesajında gerçek tool sonucu uydurulmamasını söyler. Bununla birlikte gerçek bir
uygulama tool çağrısını ayrıca doğrulamalı, aracı kendi kodunda çalıştırmalı ve
yalnızca doğrulanmış sonucu modele tool mesajı olarak geri vermelidir.
Eğitim ve ödev amacıyla MIT Lisansı altında sunulmuştur.