Source code for dash_evals.runner.solvers.add_system_message

"""Solver to add a system message to the conversation."""

from inspect_ai.model import ChatMessageSystem
from inspect_ai.solver import Generate, Solver, TaskState, solver


[docs] @solver def add_system_message(message: str) -> Solver: """ Add a system message without template formatting. This avoids the template formatting that system_message() does, which would fail on curly braces in the message content (e.g., code examples). Args: message: The system message content (literal string, no formatting) Returns: A solver that inserts the system message """ async def solve(state: TaskState, generate: Generate) -> TaskState: # Insert system message at the beginning state.messages.insert(0, ChatMessageSystem(content=message)) return state return solve