Update CONFIG from SDK Config object. Args: sdk_config: autofigure.config.Config object
(sdk_config)
| 55 | |
| 56 | |
| 57 | def update_config_from_sdk(sdk_config) -> None: |
| 58 | """ |
| 59 | Update CONFIG from SDK Config object. |
| 60 | |
| 61 | Args: |
| 62 | sdk_config: autofigure.config.Config object |
| 63 | """ |
| 64 | global CONFIG |
| 65 | |
| 66 | # LLM settings based on provider |
| 67 | provider = sdk_config.generation_provider |
| 68 | CONFIG['LLM_PROVIDER'] = provider |
| 69 | |
| 70 | if provider == 'openrouter': |
| 71 | CONFIG['OPENROUTER_API_KEY'] = sdk_config.generation_api_key |
| 72 | CONFIG['OPENROUTER_BASE_URL'] = sdk_config.generation_base_url or 'https://openrouter.ai/api/v1' |
| 73 | CONFIG['OPENROUTER_MODEL'] = sdk_config.generation_model or 'google/gemini-3.1-pro-preview' |
| 74 | elif provider == 'bianxie': |
| 75 | CONFIG['BIANXIE_API_KEY'] = sdk_config.generation_api_key |
| 76 | CONFIG['BIANXIE_BASE_URL'] = sdk_config.generation_base_url or 'https://api.bianxie.ai/v1' |
| 77 | CONFIG['BIANXIE_CHAT_MODEL'] = sdk_config.generation_model or 'gemini-3.1-pro-preview' |
| 78 | elif provider == 'gemini': |
| 79 | CONFIG['GOOGLE_API_KEY'] = sdk_config.generation_api_key |
| 80 | CONFIG['GEMINI_BASE_URL'] = sdk_config.generation_base_url or 'https://generativelanguage.googleapis.com/v1beta/openai/' |
| 81 | CONFIG['GEMINI_MODEL'] = sdk_config.generation_model or 'gemini-3.1-pro-preview' |
| 82 | |
| 83 | # Pipeline settings |
| 84 | CONFIG['MAX_ITERATIONS'] = sdk_config.max_iterations |
| 85 | CONFIG['QUALITY_THRESHOLD'] = sdk_config.quality_threshold |
| 86 | CONFIG['MIN_IMPROVEMENT'] = sdk_config.min_improvement |
| 87 | CONFIG['OUTPUT_DIR'] = sdk_config.output_dir |
| 88 | |
| 89 | # Always disable human-in-loop for SDK usage |
| 90 | CONFIG['HUMAN_IN_LOOP'] = False |
| 91 | CONFIG['AUTO_OPEN_IMAGES'] = False |
| 92 | |
| 93 | def call_unified_llm(contents: List[Any], provider: Optional[str] = None, |
| 94 | api_key: Optional[str] = None, model: Optional[str] = None, |