生成初始解决方案
(
task: Task,
model: str,
)
| 422 | |
| 423 | |
| 424 | async def generate_initial_solution( |
| 425 | task: Task, |
| 426 | model: str, |
| 427 | ) -> CodeResponse: |
| 428 | """生成初始解决方案""" |
| 429 | question_text = task.input |
| 430 | system_prompt_text = task.system_prompt |
| 431 | |
| 432 | # 检查模型是否支持视觉 |
| 433 | if model in NON_VISION_MODELS: |
| 434 | question_content = question_text |
| 435 | else: |
| 436 | question_content = parse_markdown_with_images(question_text) |
| 437 | |
| 438 | messages = [ |
| 439 | SystemMessage(content=system_prompt_text), |
| 440 | HumanMessage(content=question_content) |
| 441 | ] |
| 442 | |
| 443 | response = await model_manager( |
| 444 | model=model, |
| 445 | messages=messages, |
| 446 | response_format=CodeResponse, |
| 447 | max_completion_tokens=65536 |
| 448 | ) |
| 449 | |
| 450 | if response.success: |
| 451 | return response.extra.parsed_model |
| 452 | else: |
| 453 | raise Exception(f"Model API Error: {response.message}") |
| 454 | |
| 455 | |
| 456 | def should_stop_optimization(eval_result: Dict[str, Any], optimization_threshold: float = 50.0) -> tuple[bool, str]: |
no test coverage detected