実装

チャットテンプレート

チャットテンプレート

一文定義

チャットテンプレートとは、各LLMが期待する会話フォーマットをJinjaテンプレートで定義する仕組みで、システム・ユーザー・アシスタントのロールを特殊トークンで区切り、正確なトークン化を保証します。

詳細解説

チャットテンプレート(Chat Template)とは、LLMに会話形式でプロンプトを渡す際に、各メッセージのロール(system、user、assistant)をどの特殊トークンや区切り文字で囲むかを定義したフォーマット仕様です。Hugging FaceではJinja2テンプレートエンジンを使って各モデル固有のフォーマットを記述します。

モデルごとにフォーマットが異なるため、間違ったテンプレートを使うと推論精度が著しく低下します。例えばLlama 3は `<|begin_of_text|>`、Mistralは `[INST]` のような独自トークンを使います。ファインチューニング済みモデルはプレトレーニング時に特定のチャットテンプレートで学習されているため、推論時にも同じフォーマットを使う必要があります。

Hugging FaceのTokenizerクラスには `apply_chat_template()` メソッドが用意されており、メッセージのリストを渡すだけで正しくフォーマットされたプロンプト文字列を生成できます。ローカルでLLMを動かす際(Ollama・LM Studio等)やHugging Faceのモデルを直接呼び出す場合に特に重要な知識です。

参考情報・出典

最終更新: 2026-02-26← 用語集一覧へ

AIスキルだけでなく、自分と未来を再設計する

生成AI活用力を体系的に習得し、自己理解・キャリアデザインを深め、志を同じくする仲間と共に学ぶ場がここにあります。

AIリブートアカデミーを見る