Skip to content

symfonic.core.testing.scripted

scripted

A finite, streaming model script for multi-round agent evaluations.

ScriptedChatModel

Bases: BaseChatModel

Return one scripted message per invocation, then repeat the last.

ScriptedModelProvider

ScriptedModelProvider(*script: AIMessage)

Provide a shared finite script for deterministic multi-round turns.

Source code in src/symfonic/core/testing/scripted.py
def __init__(self, *script: AIMessage) -> None:
    self.model = ScriptedChatModel(
        script=list(script) or [AIMessage(content="ok")], calls=[]
    )