11import os
2- from azure .identity import DefaultAzureCredential
3- from azure .keyvault .secrets import SecretClient
42from dotenv import load_dotenv
53
64load_dotenv ()
75
86
97class Config :
108 def __init__ (self ):
11- # Initialize Key Vault client
12- key_vault_url = os .getenv ("AZURE_KEY_VAULT_URL" )
13- credential = DefaultAzureCredential ()
14- self .secret_client = SecretClient (vault_url = key_vault_url , credential = credential )
159
1610 # SQL Database configuration
1711 self .sqldb_database = os .getenv ("SQLDB_DATABASE" )
@@ -23,32 +17,22 @@ def __init__(self):
2317 # Azure OpenAI configuration
2418 self .azure_openai_endpoint = os .getenv ("AZURE_OPEN_AI_ENDPOINT" )
2519 self .azure_openai_deployment_model = os .getenv ("AZURE_OPEN_AI_DEPLOYMENT_MODEL" )
26- self .azure_openai_api_key = self . get_secret ("AZURE_OPENAI_API_KEY" )
20+ self .azure_openai_api_key = os . getenv ("AZURE_OPENAI_API_KEY" )
2721 self .azure_openai_api_version = os .getenv ("AZURE_OPENAI_API_VERSION" )
2822 self .azure_openai_resource = os .getenv ("AZURE_OPENAI_RESOURCE" )
2923
3024 # Azure AI Search configuration
3125 self .azure_ai_search_endpoint = os .getenv ("AZURE_AI_SEARCH_ENDPOINT" )
32- self .azure_ai_search_api_key = self . get_secret ("AZURE_AI_SEARCH_API_KEY" )
26+ self .azure_ai_search_api_key = os . getenv ("AZURE_AI_SEARCH_API_KEY" )
3327 self .azure_ai_search_index = os .getenv ("AZURE_AI_SEARCH_INDEX" )
3428
3529 # AI Project Client configuration
3630 self .use_ai_project_client = os .getenv ("USE_AI_PROJECT_CLIENT" , "False" ).lower () == "true"
37- self .azure_ai_project_conn_string = self . get_secret ("AZURE_AI_PROJECT_CONN_STRING" )
31+ self .azure_ai_project_conn_string = os . getenv ("AZURE_AI_PROJECT_CONN_STRING" )
3832
3933 # Chat history configuration
4034 self .use_chat_history_enabled = os .getenv ("USE_CHAT_HISTORY_ENABLED" , "false" ).strip ().lower () == "true"
4135 self .azure_cosmosdb_database = os .getenv ("AZURE_COSMOSDB_DATABASE" )
4236 self .azure_cosmosdb_account = os .getenv ("AZURE_COSMOSDB_ACCOUNT" )
4337 self .azure_cosmosdb_conversations_container = os .getenv ("AZURE_COSMOSDB_CONVERSATIONS_CONTAINER" )
4438 self .azure_cosmosdb_enable_feedback = os .getenv ("AZURE_COSMOSDB_ENABLE_FEEDBACK" , "false" ).lower () == "true"
45-
46- def get_secret (self , secret_name ):
47- """Retrieve a secret value from Azure Key Vault."""
48- secret_name_value = os .getenv (secret_name , "" )
49- try :
50- secret = self .secret_client .get_secret (secret_name_value )
51- return secret .value
52- except Exception as e :
53- print (f"Error retrieving secret '{ secret_name_value } ': { e } " )
54- return None
0 commit comments