From 3ba42db6e231c1decb1bdab9e73a84e9ac0f2c56 Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Thu, 18 Jun 2026 10:33:10 +0700 Subject: [PATCH] fix: revert to env var approach for camel-ai LLM config model_config_dict passes values to create() call, not client constructor. api_key in model_config_dict causes 'unexpected keyword argument' error. Revert to env vars: OPENAI_API_KEY + OPENAI_BASE_URL (camel-ai reads both). --- backend/scripts/run_parallel_simulation.py | 10 +++------- backend/scripts/run_reddit_simulation.py | 8 +------- backend/scripts/run_twitter_simulation.py | 8 +------- 3 files changed, 5 insertions(+), 21 deletions(-) diff --git a/backend/scripts/run_parallel_simulation.py b/backend/scripts/run_parallel_simulation.py index 5a8eef5..38b211e 100644 --- a/backend/scripts/run_parallel_simulation.py +++ b/backend/scripts/run_parallel_simulation.py @@ -1031,17 +1031,13 @@ def create_model(config: Dict[str, Any], use_boost: bool = False): print(f"{config_label} model={llm_model}, base_url={llm_base_url[:40] if llm_base_url else '默认'}...") - # Build model config dict for camel-ai - model_config = {} - if llm_api_key: - model_config["api_key"] = llm_api_key - if llm_base_url: - model_config["base_url"] = llm_base_url + # camel-ai reads OPENAI_API_KEY from env automatically + # For base_url, we must also set it as env var + # (model_config_dict passes values to create() call, not client constructor) return ModelFactory.create( model_platform=ModelPlatformType.OPENAI, model_type=llm_model, - model_config_dict=model_config, ) diff --git a/backend/scripts/run_reddit_simulation.py b/backend/scripts/run_reddit_simulation.py index 533f65c..1ae3687 100644 --- a/backend/scripts/run_reddit_simulation.py +++ b/backend/scripts/run_reddit_simulation.py @@ -461,17 +461,11 @@ class RedditSimulationRunner: print(f"LLM配置: model={llm_model}, base_url={llm_base_url[:40] if llm_base_url else '默认'}...") - # Build model config dict for camel-ai - model_config = {"model_type": llm_model} - if llm_api_key: - model_config["api_key"] = llm_api_key - if llm_base_url: - model_config["base_url"] = llm_base_url + # camel-ai reads OPENAI_API_KEY from env automatically return ModelFactory.create( model_platform=ModelPlatformType.OPENAI, model_type=llm_model, - model_config_dict=model_config, ) def _get_active_agents_for_round( diff --git a/backend/scripts/run_twitter_simulation.py b/backend/scripts/run_twitter_simulation.py index df636ca..d983538 100644 --- a/backend/scripts/run_twitter_simulation.py +++ b/backend/scripts/run_twitter_simulation.py @@ -454,17 +454,11 @@ class TwitterSimulationRunner: print(f"LLM配置: model={llm_model}, base_url={llm_base_url[:40] if llm_base_url else '默认'}...") - # Build model config dict for camel-ai - model_config = {"model_type": llm_model} - if llm_api_key: - model_config["api_key"] = llm_api_key - if llm_base_url: - model_config["base_url"] = llm_base_url + # camel-ai reads OPENAI_API_KEY from env automatically return ModelFactory.create( model_platform=ModelPlatformType.OPENAI, model_type=llm_model, - model_config_dict=model_config, ) def _get_active_agents_for_round(