prompttrail.agent.subroutine package
Submodules
prompttrail.agent.subroutine.session_init_strategy module
- class prompttrail.agent.subroutine.session_init_strategy.CleanSessionStrategy
Bases:
SessionInitStrategyStrategy to create a clean session with no messages
- class prompttrail.agent.subroutine.session_init_strategy.FilteredInheritStrategy(filter_fn: Callable[[Message], bool])
Bases:
SessionInitStrategyStrategy to inherit messages based on custom filter
- class prompttrail.agent.subroutine.session_init_strategy.InheritSystemStrategy
Bases:
SessionInitStrategyStrategy to inherit system messages from parent
- class prompttrail.agent.subroutine.session_init_strategy.LastNMessagesStrategy(n: int)
Bases:
SessionInitStrategyStrategy to inherit last N messages from parent
- __init__(n: int)
- class prompttrail.agent.subroutine.session_init_strategy.SessionInitStrategy
Bases:
ABCBase class defining how to initialize subroutine session
prompttrail.agent.subroutine.squash_strategy module
- class prompttrail.agent.subroutine.squash_strategy.FilterByRoleStrategy(roles: List[str])
Bases:
SquashStrategyStrategy to retain messages with specific roles
- __init__(roles: List[str])
- class prompttrail.agent.subroutine.squash_strategy.LLMFilteringStrategy(model: Model, prompt: str)
Bases:
SquashStrategyStrategy to filter messages using LLM with custom prompt
- class prompttrail.agent.subroutine.squash_strategy.LLMSummarizingStrategy(model: Model, prompt: str)
Bases:
SquashStrategyStrategy to summarize messages using LLM with custom prompt
- class prompttrail.agent.subroutine.squash_strategy.LastMessageStrategy
Bases:
SquashStrategyStrategy to retain only the last message
Module contents
Subroutine package for PromptTrail agent.
- class prompttrail.agent.subroutine.CleanSessionStrategy
Bases:
SessionInitStrategyStrategy to create a clean session with no messages
- class prompttrail.agent.subroutine.FilterByRoleStrategy(roles: List[str])
Bases:
SquashStrategyStrategy to retain messages with specific roles
- __init__(roles: List[str])
- class prompttrail.agent.subroutine.FilteredInheritStrategy(filter_fn: Callable[[Message], bool])
Bases:
SessionInitStrategyStrategy to inherit messages based on custom filter
- class prompttrail.agent.subroutine.InheritSystemStrategy
Bases:
SessionInitStrategyStrategy to inherit system messages from parent
- class prompttrail.agent.subroutine.LLMFilteringStrategy(model: Model, prompt: str)
Bases:
SquashStrategyStrategy to filter messages using LLM with custom prompt
- class prompttrail.agent.subroutine.LLMSummarizingStrategy(model: Model, prompt: str)
Bases:
SquashStrategyStrategy to summarize messages using LLM with custom prompt
- class prompttrail.agent.subroutine.LastMessageStrategy
Bases:
SquashStrategyStrategy to retain only the last message
- class prompttrail.agent.subroutine.SessionInitStrategy
Bases:
ABCBase class defining how to initialize subroutine session
- class prompttrail.agent.subroutine.SquashStrategy
Bases:
ABCBase class defining message squashing strategy
- class prompttrail.agent.subroutine.SubroutineTemplate(template: Template, template_id: str | None = None, session_init_strategy: SessionInitStrategy | None = None, squash_strategy: SquashStrategy | None = None, before_transform: List[SessionTransformer] | SessionTransformer | None = None, after_transform: List[SessionTransformer] | SessionTransformer | None = None, runner: Runner | None = None, model: Model | None = None)
Bases:
TemplateTemplate for executing subroutines with isolated session management.
This template allows for executing other templates in an isolated session context, with flexible strategies for session initialization and message handling. The execution environment is completely isolated from the parent session, with the ability to override the model or provide a custom runner.
- Parameters:
template – The template to execute as a subroutine
template_id – Optional identifier for the template
session_init_strategy – Strategy for initializing the subroutine session
squash_strategy – Strategy for handling messages after subroutine execution
before_transform – Transformers to apply before execution
after_transform – Transformers to apply after execution
runner – Optional complete runner override for isolated environment
model – Optional model override (cannot be used with runner)
- __init__(template: Template, template_id: str | None = None, session_init_strategy: SessionInitStrategy | None = None, squash_strategy: SquashStrategy | None = None, before_transform: List[SessionTransformer] | SessionTransformer | None = None, after_transform: List[SessionTransformer] | SessionTransformer | None = None, runner: Runner | None = None, model: Model | None = None)
Initialize SubroutineTemplate.
- Parameters:
template – The template to execute as a subroutine
template_id – Optional identifier for the template
session_init_strategy – Strategy for initializing the subroutine session
squash_strategy – Strategy for handling messages after subroutine execution
before_transform – Transformers to apply before execution
after_transform – Transformers to apply after execution
runner – Optional complete runner override for isolated environment
model – Optional model override (cannot be used with runner)
- Raises:
ValueError – If both runner and model are provided