Documentation Index
Fetch the complete documentation index at: https://www.adaline.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
MessageRole
Enum for chat message roles in LLM conversations.
Overview
MessageRole is a str enum that defines the four possible sender roles for a PromptMessage. Because it extends str, enum members compare equal to their string values.
from adaline_api.models.message_role import MessageRole
Values
| Value | Enum Member | Description |
|---|
"system" | MessageRole.SYSTEM | System instructions that guide the model’s behavior and set context. |
"user" | MessageRole.USER | User-provided messages and input. |
"assistant" | MessageRole.ASSISTANT | AI assistant responses, including tool-call requests. |
"tool" | MessageRole.TOOL | Tool/function execution results returned to the model. |
Examples
Basic Usage
from adaline_api.models.message_role import MessageRole
role = MessageRole.SYSTEM # 'system'
role = MessageRole.USER # 'user'
role = MessageRole.ASSISTANT # 'assistant'
role = MessageRole.TOOL # 'tool'
# String comparison works because MessageRole extends str
assert MessageRole.USER == "user"
assert MessageRole.SYSTEM == "system"
With PromptMessage
from adaline_api.models.message_role import MessageRole
from adaline_api.models.prompt_message import PromptMessage
from adaline_api.models.message_content import MessageContent
from adaline_api.models.text_content import TextContent
system_msg = PromptMessage(
role=MessageRole.SYSTEM,
content=[MessageContent(actual_instance=TextContent(
modality="text",
value="You are a helpful assistant."
))]
)
user_msg = PromptMessage(
role=MessageRole.USER,
content=[MessageContent(actual_instance=TextContent(
modality="text",
value="Hello!"
))]
)
Filtering Messages by Role
from adaline_api.models.message_role import MessageRole
from adaline_api.models.prompt_message import PromptMessage
def filter_by_role(
messages: list[PromptMessage], role: MessageRole
) -> list[PromptMessage]:
return [m for m in messages if m.role == role]
deployment = await adaline.get_latest_deployment(
prompt_id="prompt_abc123",
deployment_environment_id="environment_abc123"
)
messages = deployment.prompt.messages
system_messages = filter_by_role(messages, MessageRole.SYSTEM)
user_messages = filter_by_role(messages, MessageRole.USER)
Iterating Over All Roles
from adaline_api.models.message_role import MessageRole
for role in MessageRole:
print(role.name, role.value)
# SYSTEM system
# USER user
# ASSISTANT assistant
# TOOL tool
Serialization
from adaline_api.models.message_role import MessageRole
role = MessageRole.USER
j = role.value # 'user'
restored = MessageRole(j) # MessageRole.USER
# From JSON string
restored = MessageRole.from_json('"user"')