Agent Utils
Utility functions and helpers for agent implementations.
rllm.agents.utils
get_recent_assistant_user_messages
Extracts the most recent assistant message and environment messages (user/tool) from a chat completions list.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chat_completions_messages
|
List[Dict]
|
List of message dictionaries from chat completions. |
required |
Returns:
| Type | Description |
|---|---|
|
Tuple[Dict, List[Dict]]: A tuple containing: - The most recent assistant message (or None if not found) - A list of environment messages (user/tool) that occurred after the last assistant message, in chronological order. |
Source code in rllm/agents/utils.py
convert_messages_to_tokens_and_masks
convert_messages_to_tokens_and_masks(messages: list[dict[str, str]], tokenizer: PreTrainedTokenizerBase, parser: ChatTemplateParser, contains_first_msg=False, contains_generation_msg=False)
Converts multiple messages to tokens and masks. contains_first_msg flag and contains_generaiton_msg flag are used to indicate whether the conversation is for beginning or contains the generation. The first and last message is assumed to be the special message respectively
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
messages
|
List[Dict]
|
The messages to convert. |
required |
tokenizer
|
PreTrainedTokenizerBase
|
The tokenizer to use. |
required |
contains_first_msg
|
bool
|
Whether the first message is a special message. |
False
|
contains_generation_msg
|
bool
|
Whether the last message is a special message. |
False
|
Returns:
| Type | Description |
|---|---|
|
Tuple[List[int], List[int]]: A tuple containing all tokens and all masks. |