Configuration for prompt generation
| 258 | |
| 259 | @dataclass |
| 260 | class PromptConfig: |
| 261 | """Configuration for prompt generation""" |
| 262 | |
| 263 | template_dir: Optional[str] = None |
| 264 | system_message: str = "system_message" |
| 265 | evaluator_system_message: str = "evaluator_system_message" |
| 266 | |
| 267 | # Number of example programs to include in the prompt |
| 268 | num_top_programs: int = 3 |
| 269 | num_diverse_programs: int = 2 |
| 270 | |
| 271 | # Template stochasticity for varying prompts |
| 272 | use_template_stochasticity: bool = True |
| 273 | template_variations: Dict[str, List[str]] = field(default_factory=dict) |
| 274 | |
| 275 | # Meta-prompting (not currently implemented) |
| 276 | use_meta_prompting: bool = False |
| 277 | meta_prompt_weight: float = 0.1 |
| 278 | |
| 279 | # Artifact rendering settings for including evaluation outputs in prompts |
| 280 | include_artifacts: bool = True |
| 281 | max_artifact_bytes: int = 20 * 1024 # 20KB limit in prompt |
| 282 | artifact_security_filter: bool = True |
| 283 | |
| 284 | # Feature extraction and program labeling for prompt context |
| 285 | suggest_simplification_after_chars: Optional[int] = 500 |
| 286 | include_changes_under_chars: Optional[int] = 100 |
| 287 | concise_implementation_max_lines: Optional[int] = 10 |
| 288 | comprehensive_implementation_min_lines: Optional[int] = 50 |
| 289 | |
| 290 | # Backward compatibility - deprecated |
| 291 | code_length_threshold: Optional[int] = None |
| 292 | |
| 293 | |
| 294 | @dataclass |