codebook / potato /simulator /__init__.py
davidjurgens's picture
Deploy: Potato — Codebook Annotation
aceb1b2 verified
Raw
History Blame Contribute Delete
2.25 kB
"""
User Simulator for Potato Annotation Platform.
This module provides tools for simulating multiple annotators with varying
competence levels and behaviors for testing purposes.
Example usage:
from potato.simulator import SimulatorManager, SimulatorConfig
config = SimulatorConfig(
user_count=10,
strategy="random",
competence_distribution={"good": 0.5, "average": 0.3, "poor": 0.2}
)
manager = SimulatorManager(config, "http://localhost:8000")
results = manager.run_parallel(max_annotations_per_user=20)
print(manager.get_summary())
"""
from .config import (
SimulatorConfig,
UserConfig,
TimingConfig,
LLMStrategyConfig,
BiasedStrategyConfig,
PatternStrategyConfig,
AgentStrategyConfig,
InteractiveConfig,
CompetenceLevel,
AnnotationStrategyType,
)
from .competence_profiles import (
CompetenceProfile,
create_competence_profile,
)
from .annotation_strategies import (
AnnotationStrategy,
RandomStrategy,
BiasedStrategy,
LLMStrategy,
PatternStrategy,
create_strategy,
)
from .agent_strategy import AgentSimulatorStrategy
from .interactive_runner import InteractiveSessionRunner, InteractiveSessionResult
from .timing_models import TimingModel
from .user_simulator import SimulatedUser, UserSimulationResult, AnnotationRecord
from .simulator_manager import SimulatorManager
from .reporting import SimulationReporter
__all__ = [
# Config
"SimulatorConfig",
"UserConfig",
"TimingConfig",
"LLMStrategyConfig",
"BiasedStrategyConfig",
"PatternStrategyConfig",
"AgentStrategyConfig",
"InteractiveConfig",
"CompetenceLevel",
"AnnotationStrategyType",
# Competence
"CompetenceProfile",
"create_competence_profile",
# Strategies
"AnnotationStrategy",
"RandomStrategy",
"BiasedStrategy",
"LLMStrategy",
"PatternStrategy",
"AgentSimulatorStrategy",
"InteractiveSessionRunner",
"InteractiveSessionResult",
"create_strategy",
# Timing
"TimingModel",
# User simulation
"SimulatedUser",
"UserSimulationResult",
"AnnotationRecord",
# Manager
"SimulatorManager",
# Reporting
"SimulationReporter",
]