prompt_strategies.chat_template
prompt_strategies.chat_template
HF Chat Templates prompt strategy
Classes
| Name | Description |
|---|---|
| ChatTemplatePrompter | Prompter for HF chat templates |
| ChatTemplateStrategy | Tokenizing strategy for instruction-based prompts. |
| MistralPrompter | Mistral prompter for chat template. |
| MistralStrategy | Mistral strategy for chat template. |
| StrategyLoader | Load chat template strategy based on configuration. |
ChatTemplatePrompter
prompt_strategies.chat_template.ChatTemplatePrompter(
tokenizer,
chat_template,
processor=None,
max_length=2048,
message_property_mappings=None,
message_field_training=None,
message_field_training_detail=None,
field_messages='messages',
field_system='system',
field_tools='tools',
field_thinking='reasoning_content',
roles=None,
template_thinking_key='reasoning_content',
chat_template_kwargs=None,
drop_system_message=False,
)Prompter for HF chat templates
Methods
| Name | Description |
|---|---|
| build_prompt | Build a prompt from a conversation. |
build_prompt
prompt_strategies.chat_template.ChatTemplatePrompter.build_prompt(
conversation,
add_generation_prompt=False,
images=None,
tools=None,
)Build a prompt from a conversation.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| conversation | list[dict] | A list of messages. | required |
| add_generation_prompt | Whether to add a generation prompt. | False |
|
| images | A list of images. (optional) | None |
|
| tools | A list of tools. (optional) | None |
ChatTemplateStrategy
prompt_strategies.chat_template.ChatTemplateStrategy(
prompter,
tokenizer,
train_on_inputs,
sequence_len,
roles_to_train=None,
train_on_eos=None,
train_on_eot=None,
eot_tokens=None,
split_thinking=False,
)Tokenizing strategy for instruction-based prompts.
Methods
| Name | Description |
|---|---|
| find_first_eot_token | Find the first EOT token in the input_ids starting from start_idx. |
| find_turn | Locate the starting and ending indices of the specified turn in a conversation. |
| tokenize_prompt | Public method that can handle either a single prompt or a batch of prompts. |
find_first_eot_token
prompt_strategies.chat_template.ChatTemplateStrategy.find_first_eot_token(
input_ids,
start_idx,
)Find the first EOT token in the input_ids starting from start_idx.
find_turn
prompt_strategies.chat_template.ChatTemplateStrategy.find_turn(
turns,
turn_idx,
tools=None,
)Locate the starting and ending indices of the specified turn in a conversation.
tokenize_prompt
prompt_strategies.chat_template.ChatTemplateStrategy.tokenize_prompt(prompt)Public method that can handle either a single prompt or a batch of prompts.
MistralPrompter
prompt_strategies.chat_template.MistralPrompter(*args, **kwargs)Mistral prompter for chat template.
MistralStrategy
prompt_strategies.chat_template.MistralStrategy(
prompter,
tokenizer,
train_on_inputs,
sequence_len,
roles_to_train=None,
train_on_eos=None,
train_on_eot=None,
eot_tokens=None,
split_thinking=False,
)Mistral strategy for chat template.
Methods
| Name | Description |
|---|---|
| find_first_eot_token | Find the first EOT token in the input_ids starting from start_idx. |
find_first_eot_token
prompt_strategies.chat_template.MistralStrategy.find_first_eot_token(
input_ids,
start_idx,
)Find the first EOT token in the input_ids starting from start_idx.
StrategyLoader
prompt_strategies.chat_template.StrategyLoader()Load chat template strategy based on configuration.