@@ -22,16 +22,20 @@ def __init__(self):
2222 self .deepseek_api_key = None
2323 self .deepseek_base_url = "https://api.deepseek.com/v1"
2424
25- def initialize_clients (self , args : Namespace , api_keys : Dict [str , str ]) :
25+ def initialize_clients (self , args : Namespace ) -> Dict [str , str ]:
2626 """Initialize API clients for all providers with available keys.
2727
2828 Args:
29- api_keys (Dict[str, str]): Dictionary of provider names to API keys
29+ args (Namespace): Parsed command line arguments
30+ Returns:
31+ Dict[str, str]: Dictionary of API keys for each provider
3032 """
31- if api_keys .get (ModelProvider .OPENAI .value ):
32- self .openai_client = OpenAI (api_key = api_keys [ModelProvider .OPENAI .value ])
33+ openai_key = args .openai_key or args .api_key or os .getenv ("OPENAI_API_KEY" , "" )
34+ if openai_key :
35+ self .openai_client = OpenAI (api_key = openai_key )
3336
34- if api_keys .get (ModelProvider .AZURE_OPENAI .value ):
37+ azure_openai_key = args .azure_openai_key or os .getenv ("AZURE_OPENAI_API_KEY" , "" )
38+ if azure_openai_key :
3539 endpoint = args .azure_openai_endpoint or os .getenv ("AZURE_OPENAI_ENDPOINT" )
3640 if not endpoint :
3741 raise ValueError ("Missing Azure OpenAI endpoint." )
@@ -42,12 +46,21 @@ def initialize_clients(self, args: Namespace, api_keys: Dict[str, str]):
4246
4347 self .azure_openai_client = AzureOpenAI (
4448 azure_endpoint = endpoint ,
45- api_key = api_keys [ ModelProvider . AZURE_OPENAI . value ] ,
49+ api_key = azure_openai_key ,
4650 api_version = api_version
4751 )
4852
49- if api_keys .get (ModelProvider .ANTHROPIC .value ):
50- self .anthropic_client = Anthropic (api_key = api_keys [ModelProvider .ANTHROPIC .value ])
53+ antropic_key = args .anthropic_key or os .getenv ("ANTHROPIC_API_KEY" , "" )
54+ if antropic_key :
55+ self .anthropic_client = Anthropic (api_key = antropic_key )
5156
52- if api_keys .get (ModelProvider .DEEPSEEK .value ):
53- self .deepseek_api_key = api_keys [ModelProvider .DEEPSEEK .value ]
57+ deepseek_key = args .deepseek_key or os .getenv ("DEEPSEEK_API_KEY" , "" )
58+ if deepseek_key :
59+ self .deepseek_api_key = deepseek_key
60+
61+ return {
62+ ModelProvider .OPENAI .value : openai_key ,
63+ ModelProvider .ANTHROPIC .value : antropic_key ,
64+ ModelProvider .DEEPSEEK .value : deepseek_key ,
65+ ModelProvider .AZURE_OPENAI .value : azure_openai_key ,
66+ }
0 commit comments