from dataclasses import dataclass from typing import Literal Role = Literal["system", "user", "assistant"] @dataclass(frozen=True) class ChatMessage: role: Role content: str def to_llama_messages(messages: list[ChatMessage]) -> list[dict[str, str]]: return [ { "role": message.role, "content": message.content, } for message in messages ]