@@ -59,10 +59,6 @@ def get_default_llm_config():
5959 return copy .deepcopy (_DEFAULT_LLM_CONFIG_DATA )
6060
6161
62- DEFAULT_DISEASE_NAME = "dry age-related macular degeneration"
63- DEFAULT_FOLDER_NAME = f"{ DEFAULT_DISEASE_NAME [:70 ].replace (" " , "_" )} _{ datetime .now ().strftime ("%Y-%m-%d_%H-%M" )} "
64-
65-
6662def _get_prompt_args (template_string : str ) -> set [str ]:
6763 """
6864 Extracts root variable names from f-string like placeholders (e.g., {variable})
@@ -276,20 +272,31 @@ class Config:
276272 default = 5 , description = "Number of candidates to generate for each query."
277273 )
278274 disease_name : str = Field (
279- default = DEFAULT_DISEASE_NAME , description = "Name of the disease to focus on."
275+ default = "input_disease" , description = "Name of the disease to focus on."
280276 )
281- run_folder_name : str = Field (
282- default = DEFAULT_FOLDER_NAME ,
283- description = "Name of the folder where results will be stored." ,
277+ run_folder_name : str | None = Field (
278+ default = None ,
279+ description = (
280+ "Name of the folder where results will be stored. "
281+ "If not provided or None, it will be auto-generated "
282+ "using the disease_name and the timestamp."
283+ ),
284284 )
285-
286285 futurehouse_api_key : str = "insert_futurehouse_api_key_here"
287286 llm_name : str = "o4-mini"
288287 llm_config : dict | None = Field (default_factory = get_default_llm_config )
289288 agent_settings : AgentConfig = Field (default_factory = AgentConfig )
290289 _fh_client : FutureHouseClient | None = PrivateAttr (default = None )
291290 _llm_client : LiteLLMModel | None = PrivateAttr (default = None )
292291
292+ @model_validator (mode = "after" )
293+ def set_run_folder_name_default (self ) -> "RobinConfiguration" :
294+ if self .run_folder_name is None :
295+ disease_part = self .disease_name [:70 ].replace (" " , "_" )
296+ timestamp_part = datetime .now ().strftime ("%Y-%m-%d_%H-%M-%S" )
297+ self .run_folder_name = f"{ disease_part } _{ timestamp_part } "
298+ return self
299+
293300 @property
294301 def fh_client (self ) -> FutureHouseClient :
295302 if self ._fh_client is None :
0 commit comments