3939 TeamConfiguration ,
4040)
4141from services .json_service import JsonService
42- from services .model_validation_service import ModelValidationService
43- from services .search_validation_service import SearchValidationService
4442
4543
4644# Updated import for KernelArguments
@@ -1565,17 +1563,6 @@ async def upload_team_config_endpoint(request: Request, file: UploadFile = File(
15651563 responses:
15661564 200:
15671565 description: Team configuration uploaded successfully
1568- schema:
1569- type: object
1570- properties:
1571- status:
1572- type: string
1573- config_id:
1574- type: string
1575- team_id:
1576- type: string
1577- name:
1578- type: string
15791566 400:
15801567 description: Invalid request or file format
15811568 401:
@@ -1611,7 +1598,6 @@ async def upload_team_config_endpoint(request: Request, file: UploadFile = File(
16111598 # Validate content with RAI before processing
16121599 rai_valid , rai_error = await rai_validate_team_config (json_data )
16131600 if not rai_valid :
1614- # Track RAI validation failure
16151601 track_event_if_configured (
16161602 "Team configuration RAI validation failed" ,
16171603 {
@@ -1623,29 +1609,24 @@ async def upload_team_config_endpoint(request: Request, file: UploadFile = File(
16231609 )
16241610 raise HTTPException (status_code = 400 , detail = rai_error )
16251611
1626- # Track successful RAI validation
16271612 track_event_if_configured (
16281613 "Team configuration RAI validation passed" ,
1629- {
1630- "status" : "passed" ,
1631- "user_id" : user_id ,
1632- "filename" : file .filename ,
1633- },
1614+ {"status" : "passed" , "user_id" : user_id , "filename" : file .filename },
16341615 )
16351616
1617+ # Initialize memory store and service
1618+ kernel , memory_store = await initialize_runtime_and_context ("" , user_id )
1619+ json_service = JsonService (memory_store )
1620+
16361621 # Validate model deployments
1637- model_validator = ModelValidationService ()
1638- models_valid , missing_models = await model_validator .validate_team_models (
1622+ models_valid , missing_models = await json_service .validate_team_models (
16391623 json_data
16401624 )
1641-
16421625 if not models_valid :
16431626 error_message = (
16441627 f"The following required models are not deployed in your Azure AI project: { ', ' .join (missing_models )} . "
16451628 f"Please deploy these models in Azure AI Foundry before uploading this team configuration."
16461629 )
1647-
1648- # Track model validation failure
16491630 track_event_if_configured (
16501631 "Team configuration model validation failed" ,
16511632 {
@@ -1655,32 +1636,22 @@ async def upload_team_config_endpoint(request: Request, file: UploadFile = File(
16551636 "missing_models" : missing_models ,
16561637 },
16571638 )
1658-
16591639 raise HTTPException (status_code = 400 , detail = error_message )
16601640
1661- # Track successful model validation
16621641 track_event_if_configured (
16631642 "Team configuration model validation passed" ,
1664- {
1665- "status" : "passed" ,
1666- "user_id" : user_id ,
1667- "filename" : file .filename ,
1668- },
1643+ {"status" : "passed" , "user_id" : user_id , "filename" : file .filename },
16691644 )
16701645
16711646 # Validate search indexes
1672- search_validator = SearchValidationService ()
1673- search_valid , search_errors = (
1674- await search_validator .validate_team_search_indexes (json_data )
1647+ search_valid , search_errors = await json_service .validate_team_search_indexes (
1648+ json_data
16751649 )
1676-
16771650 if not search_valid :
16781651 error_message = (
16791652 f"Search index validation failed:\n \n { chr (10 ).join ([f'• { error } ' for error in search_errors ])} \n \n "
16801653 f"Please ensure all referenced search indexes exist in your Azure AI Search service."
16811654 )
1682-
1683- # Track search validation failure
16841655 track_event_if_configured (
16851656 "Team configuration search validation failed" ,
16861657 {
@@ -1690,23 +1661,13 @@ async def upload_team_config_endpoint(request: Request, file: UploadFile = File(
16901661 "search_errors" : search_errors ,
16911662 },
16921663 )
1693-
16941664 raise HTTPException (status_code = 400 , detail = error_message )
16951665
1696- # Track successful search validation
16971666 track_event_if_configured (
16981667 "Team configuration search validation passed" ,
1699- {
1700- "status" : "passed" ,
1701- "user_id" : user_id ,
1702- "filename" : file .filename ,
1703- },
1668+ {"status" : "passed" , "user_id" : user_id , "filename" : file .filename },
17041669 )
17051670
1706- # Initialize memory store and service
1707- kernel , memory_store = await initialize_runtime_and_context ("" , user_id )
1708- json_service = JsonService (memory_store )
1709-
17101671 # Validate and parse the team configuration
17111672 try :
17121673 team_config = await json_service .validate_and_parse_team_config (
@@ -1723,7 +1684,6 @@ async def upload_team_config_endpoint(request: Request, file: UploadFile = File(
17231684 status_code = 500 , detail = f"Failed to save configuration: { str (e )} "
17241685 )
17251686
1726- # Track the event
17271687 track_event_if_configured (
17281688 "Team configuration uploaded" ,
17291689 {
@@ -1745,10 +1705,8 @@ async def upload_team_config_endpoint(request: Request, file: UploadFile = File(
17451705 }
17461706
17471707 except HTTPException :
1748- # Re-raise HTTP exceptions
17491708 raise
17501709 except Exception as e :
1751- # Log and return generic error for unexpected exceptions
17521710 logging .error (f"Unexpected error uploading team configuration: { str (e )} " )
17531711 raise HTTPException (status_code = 500 , detail = "Internal server error occurred" )
17541712
@@ -2006,12 +1964,10 @@ async def get_model_deployments_endpoint(request: Request):
20061964 )
20071965
20081966 try :
2009- model_validator = ModelValidationService ()
2010- deployments = await model_validator .list_model_deployments ()
2011- summary = await model_validator .get_deployment_status_summary ()
2012-
1967+ json_service = JsonService ()
1968+ deployments = await json_service .list_model_deployments ()
1969+ summary = await json_service .get_deployment_status_summary ()
20131970 return {"deployments" : deployments , "summary" : summary }
2014-
20151971 except Exception as e :
20161972 logging .error (f"Error retrieving model deployments: { str (e )} " )
20171973 raise HTTPException (status_code = 500 , detail = "Internal server error occurred" )
@@ -2040,11 +1996,9 @@ async def get_search_indexes_endpoint(request: Request):
20401996 )
20411997
20421998 try :
2043- search_validator = SearchValidationService ()
2044- summary = await search_validator .get_search_index_summary ()
2045-
1999+ json_service = JsonService ()
2000+ summary = await json_service .get_search_index_summary ()
20462001 return {"search_summary" : summary }
2047-
20482002 except Exception as e :
20492003 logging .error (f"Error retrieving search indexes: { str (e )} " )
20502004 raise HTTPException (status_code = 500 , detail = "Internal server error occurred" )
0 commit comments