Spaces:
Paused
Paused
| """ | |
| 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", | |
| ] | |