primus.cli.score_chat.service module
Implementation of a reusable service for the Primus score chat command.
This module provides core chat functionality for working with Primus scores, which can be used by different interfaces (CLI REPL, Celery worker, etc.).
- class primus.cli.score_chat.service.ScoreChatService(scorecard: str | None = None, score: str | None = None, callback_handler: BaseCallbackHandler | None = None, message_callback: Callable[[str], None] | None = None)
Bases:
objectCore service for handling chat functionality for Primus scores.
Initialize the chat service.
- Args:
scorecard: Optional scorecard identifier score: Optional score identifier callback_handler: Optional callback handler for LLM streaming message_callback: Optional callback for receiving message outputs
- __init__(scorecard: str | None = None, score: str | None = None, callback_handler: BaseCallbackHandler | None = None, message_callback: Callable[[str], None] | None = None)
Initialize the chat service.
- Args:
scorecard: Optional scorecard identifier score: Optional score identifier callback_handler: Optional callback handler for LLM streaming message_callback: Optional callback for receiving message outputs
- initialize_session()
Initialize a chat session with a score.
- initialize_system_message()
Initialize the system message with the current score’s information.
- load_score(scorecard: str, score: str)
Load a score’s configuration.
- process_message(user_input: str)
Process a natural language message from the user.
- Args:
user_input: The user’s message
- Returns:
List of responses, which may include tool outputs
- pull_score(scorecard: str, score: str)
Pull a score’s current version.
- push_score(scorecard: str, score: str)
Push a score’s updated version.
- recover_and_continue()
Recover from an error by creating a simplified chat history and continuing the conversation.