Skip to content

Commit bed0807

Browse files
committed
Refactor Azure config and update fastmcp dependency
Refactored AzureConfig and MCPConfig classes for improved readability and removed hardcoded Azure credentials from settings.py. Updated fastmcp version from 0.4.0 to 2.2.4 in requirements.txt.
1 parent 93124ce commit bed0807

File tree

2 files changed

+31
-24
lines changed

2 files changed

+31
-24
lines changed

src/backend/v3/config/settings.py

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,63 +6,71 @@
66
import os
77
from dotenv import load_dotenv
88
from azure.identity import DefaultAzureCredential as SyncDefaultAzureCredential
9-
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatPromptExecutionSettings
9+
from semantic_kernel.connectors.ai.open_ai import (
10+
AzureChatCompletion,
11+
OpenAIChatPromptExecutionSettings,
12+
)
1013

1114
# Load environment variables
1215
load_dotenv()
1316

1417
# Azure configuration
15-
TENANT_ID = "52b39610-0746-4c25-a83d-d4f89fadedfe"
16-
CLIENT_ID = "7a95e70b-062e-4cd3-a88c-603fc70e1c73"
18+
TENANT_ID = ""
19+
CLIENT_ID = ""
20+
1721

1822
class AzureConfig:
1923
"""Azure OpenAI and authentication configuration."""
20-
24+
2125
def __init__(self):
2226
self.endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
2327
self.reasoning_model = os.getenv("REASONING_MODEL_NAME", "o3")
2428
self.standard_model = os.getenv("AZURE_OPENAI_DEPLOYMENT_NAME", "gpt-4")
2529
self.bing_connection_name = os.getenv("BING_CONNECTION_NAME")
26-
30+
2731
# Create credential
2832
self.credential = SyncDefaultAzureCredential()
29-
33+
3034
def get_azure_token(self):
3135
"""Get Azure token for authentication."""
32-
token = self.credential.get_token("https://cognitiveservices.azure.com/.default")
36+
token = self.credential.get_token(
37+
"https://cognitiveservices.azure.com/.default"
38+
)
3339
return token.token
34-
40+
3541
def create_chat_completion_service(self, use_reasoning_model=False):
3642
"""Create Azure Chat Completion service."""
37-
model_name = self.reasoning_model if use_reasoning_model else self.standard_model
38-
43+
model_name = (
44+
self.reasoning_model if use_reasoning_model else self.standard_model
45+
)
46+
3947
return AzureChatCompletion(
4048
deployment_name=model_name,
4149
endpoint=self.endpoint,
42-
ad_token_provider=self.get_azure_token
50+
ad_token_provider=self.get_azure_token,
4351
)
44-
52+
4553
def create_execution_settings(self):
4654
"""Create execution settings for OpenAI."""
47-
return OpenAIChatPromptExecutionSettings(
48-
max_tokens=4000,
49-
temperature=0.1
50-
)
55+
return OpenAIChatPromptExecutionSettings(max_tokens=4000, temperature=0.1)
56+
5157

5258
class MCPConfig:
5359
"""MCP server configuration."""
54-
60+
5561
def __init__(self):
5662
self.url = "http://127.0.0.1:8000/mcp/"
5763
self.name = "MCPGreetingServer"
5864
self.description = "MCP server with greeting and planning tools"
59-
65+
6066
def get_headers(self, token):
6167
"""Get MCP headers with authentication token."""
62-
return {
63-
"Authorization": f"Bearer {token}",
64-
"Content-Type": "application/json"
65-
} if token else {}
68+
return (
69+
{"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
70+
if token
71+
else {}
72+
)
73+
6674

6775
# Global config instances
6876
azure_config = AzureConfig()

src/backend/v3/mcp_server/requirements.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
fastmcp==0.4.0
2-
fastapi==0.115.6
1+
fastmcp==2.2.4
32
uvicorn[standard]==0.32.1
43
python-dotenv==1.0.1
54
azure-identity==1.19.0

0 commit comments

Comments
 (0)