Skip to content

Commit 37d0b77

Browse files
committed
add model and update model type to worker
1 parent 57285ae commit 37d0b77

File tree

3 files changed

+99
-581
lines changed

3 files changed

+99
-581
lines changed

xinference/api/restful_api.py

Lines changed: 9 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -3154,19 +3154,14 @@ async def unregister_model(self, model_type: str, model_name: str) -> JSONRespon
31543154

31553155
async def add_model(self, request: Request) -> JSONResponse:
31563156
try:
3157-
# Debug: Log incoming request
3158-
logger.info(f"[DEBUG] Add model API called")
3159-
logger.info(f"[DEBUG] Request headers: {dict(request.headers)}")
31603157

31613158
# Parse request
31623159
raw_json = await request.json()
3163-
logger.info(f"[DEBUG] Raw request JSON: {raw_json}")
31643160

31653161
if "model_type" in raw_json and "model_json" in raw_json:
31663162
body = AddModelRequest.parse_obj(raw_json)
31673163
model_type = body.model_type
31683164
model_json = body.model_json
3169-
logger.info(f"[DEBUG] Using wrapped format, model_type: {model_type}")
31703165
else:
31713166
model_json = raw_json
31723167

@@ -3186,42 +3181,23 @@ async def add_model(self, request: Request) -> JSONResponse:
31863181
detail="model_type is required in the model JSON. Supported types: LLM, embedding, audio, image, video, rerank",
31873182
)
31883183

3189-
logger.info(f"[DEBUG] Parsed model_type: {model_type}")
3190-
logger.info(
3191-
f"[DEBUG] Parsed model_json keys: {list(model_json.keys()) if isinstance(model_json, dict) else 'Not a dict'}"
3192-
)
3193-
if isinstance(model_json, dict):
3194-
logger.info(f"[DEBUG] Model JSON content: {model_json}")
3195-
3196-
# Debug: Check supervisor reference
3197-
logger.info(f"[DEBUG] Getting supervisor reference...")
31983184
supervisor_ref = await self._get_supervisor_ref()
3199-
logger.info(f"[DEBUG] Supervisor reference obtained: {supervisor_ref}")
32003185

32013186
# Call supervisor
3202-
logger.info(
3203-
f"[DEBUG] Calling supervisor.add_model with model_type: {model_type}"
3204-
)
32053187
await supervisor_ref.add_model(model_type, model_json)
3206-
logger.info(f"[DEBUG] Supervisor.add_model completed successfully")
32073188

32083189
except ValueError as re:
3209-
logger.error(f"[DEBUG] ValueError in add_model API: {re}", exc_info=True)
3210-
logger.error(f"[DEBUG] ValueError details: {type(re).__name__}: {re}")
3190+
logger.error(f"ValueError in add_model API: {re}", exc_info=True)
3191+
logger.error(f"ValueError details: {type(re).__name__}: {re}")
32113192
raise HTTPException(status_code=400, detail=str(re))
32123193
except Exception as e:
3213-
logger.error(
3214-
f"[DEBUG] Unexpected error in add_model API: {e}", exc_info=True
3215-
)
3216-
logger.error(f"[DEBUG] Error details: {type(e).__name__}: {e}")
3194+
logger.error(f"Unexpected error in add_model API: {e}", exc_info=True)
3195+
logger.error(f"Error details: {type(e).__name__}: {e}")
32173196
import traceback
32183197

3219-
logger.error(f"[DEBUG] Full traceback: {traceback.format_exc()}")
3198+
logger.error(f"Full traceback: {traceback.format_exc()}")
32203199
raise HTTPException(status_code=500, detail=str(e))
32213200

3222-
logger.info(
3223-
f"[DEBUG] Add model API completed successfully for model_type: {model_type}"
3224-
)
32253201
return JSONResponse(
32263202
content={"message": f"Model added successfully for type: {model_type}"}
32273203
)
@@ -3230,37 +3206,24 @@ async def update_model_type(self, request: Request) -> JSONResponse:
32303206
try:
32313207
# Parse request
32323208
raw_json = await request.json()
3233-
logger.info(f"[DEBUG] Update model type API called with: {raw_json}")
32343209

32353210
body = UpdateModelRequest.parse_obj(raw_json)
32363211
model_type = body.model_type
32373212

3238-
logger.info(f"[DEBUG] Parsed model_type for update: {model_type}")
3239-
32403213
# Get supervisor reference
32413214
supervisor_ref = await self._get_supervisor_ref()
32423215

3243-
# Call supervisor to update model type
3244-
logger.info(
3245-
f"[DEBUG] Calling supervisor.update_model_type with model_type: {model_type}"
3246-
)
32473216
await supervisor_ref.update_model_type(model_type)
3248-
logger.info(f"[DEBUG] Supervisor.update_model_type completed successfully")
32493217

32503218
except ValueError as re:
3251-
logger.error(
3252-
f"[DEBUG] ValueError in update_model_type API: {re}", exc_info=True
3253-
)
3219+
logger.error(f"ValueError in update_model_type API: {re}", exc_info=True)
32543220
raise HTTPException(status_code=400, detail=str(re))
32553221
except Exception as e:
32563222
logger.error(
3257-
f"[DEBUG] Unexpected error in update_model_type API: {e}", exc_info=True
3223+
f"Unexpected error in update_model_type API: {e}", exc_info=True
32583224
)
32593225
raise HTTPException(status_code=500, detail=str(e))
32603226

3261-
logger.info(
3262-
f"[DEBUG] Update model type API completed successfully for model_type: {model_type}"
3263-
)
32643227
return JSONResponse(
32653228
content={
32663229
"message": f"Model configurations updated successfully for type: {model_type}"
@@ -3271,20 +3234,11 @@ async def list_model_registrations(
32713234
self, model_type: str, detailed: bool = Query(False)
32723235
) -> JSONResponse:
32733236
try:
3274-
logger.info(
3275-
f"[DEBUG API] list_model_registrations called with model_type: {model_type}, detailed: {detailed}"
3276-
)
32773237

32783238
data = await (await self._get_supervisor_ref()).list_model_registrations(
32793239
model_type, detailed=detailed
32803240
)
32813241

3282-
logger.info(f"[DEBUG API] Raw data from supervisor: {len(data)} items")
3283-
for i, item in enumerate(data):
3284-
logger.info(
3285-
f"[DEBUG API] Item {i}: {item.get('model_name', 'Unknown')} (builtin: {item.get('is_builtin', 'Unknown')})"
3286-
)
3287-
32883242
# Remove duplicate model names.
32893243
model_names = set()
32903244
final_data = []
@@ -3293,28 +3247,17 @@ async def list_model_registrations(
32933247
model_names.add(item["model_name"])
32943248
final_data.append(item)
32953249

3296-
logger.info(f"[DEBUG API] After deduplication: {len(final_data)} items")
3297-
builtin_count = sum(
3298-
1 for item in final_data if item.get("is_builtin", False)
3299-
)
3300-
custom_count = sum(
3301-
1 for item in final_data if not item.get("is_builtin", False)
3302-
)
3303-
logger.info(
3304-
f"[DEBUG API] Built-in models: {builtin_count}, Custom models: {custom_count}"
3305-
)
3306-
33073250
return JSONResponse(content=final_data)
33083251
except ValueError as re:
33093252
logger.error(
3310-
f"[DEBUG API] ValueError in list_model_registrations: {re}",
3253+
f"ValueError in list_model_registrations: {re}",
33113254
exc_info=True,
33123255
)
33133256
logger.error(re, exc_info=True)
33143257
raise HTTPException(status_code=400, detail=str(re))
33153258
except Exception as e:
33163259
logger.error(
3317-
f"[DEBUG API] Unexpected error in list_model_registrations: {e}",
3260+
f"Unexpected error in list_model_registrations: {e}",
33183261
exc_info=True,
33193262
)
33203263
logger.error(e, exc_info=True)

0 commit comments

Comments
 (0)