Spaces:
Paused
Paused
File size: 2,248 Bytes
aceb1b2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | """
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",
]
|