@@ -418,13 +418,16 @@ def valid_parameters(self, data):
418418 # logprobs
419419 logprobs = data .get ("logprobs" )
420420 top_logprobs = None
421+ is_chat = False
421422
422- if isinstance (logprobs , bool ) and logprobs :
423- if not self .enable_logprob :
424- err_msg = "Logprobs is disabled, please enable it in startup config."
425- api_server_logger .error (err_msg )
426- raise ParameterError ("logprobs" , err_msg )
427- top_logprobs = data .get ("top_logprobs" )
423+ if isinstance (logprobs , bool ):
424+ if logprobs :
425+ is_chat = True
426+ if not self .enable_logprob :
427+ err_msg = "Logprobs is disabled, please enable it in startup config."
428+ api_server_logger .error (err_msg )
429+ raise ParameterError ("logprobs" , err_msg )
430+ top_logprobs = data .get ("top_logprobs" )
428431 elif isinstance (logprobs , int ):
429432 top_logprobs = logprobs
430433 elif logprobs :
@@ -478,38 +481,40 @@ def valid_parameters(self, data):
478481 raise ValueError ("prompt_logprobs" , err_msg )
479482
480483 # enable_logprob
481- if top_logprobs :
484+ if top_logprobs is not None :
482485 if not self .enable_logprob :
483486 err_msg = "Logprobs is disabled, please enable it in startup config."
484487 api_server_logger .error (err_msg )
485- raise ParameterError ("logprobs" , err_msg )
488+ raise ParameterError ("top_logprobs" if is_chat else " logprobs" , err_msg )
486489
487490 if not isinstance (top_logprobs , int ):
488491 err_type = type (top_logprobs ).__name__
489- err_msg = f"Invalid type for 'top_logprobs': expected int but got { err_type } ."
492+ err_msg = (
493+ f"Invalid type for { 'top_logprobs' if is_chat else 'logprobs' } : expected int but got { err_type } ."
494+ )
495+ api_server_logger .error (err_msg )
496+ raise ParameterError ("top_logprobs" if is_chat else "logprobs" , err_msg )
497+
498+ if top_logprobs > max_logprobs :
499+ err_msg = f"Number of { 'top_logprobs' if is_chat else 'logprobs' } requested ({ top_logprobs } ) exceeds maximum allowed value ({ max_logprobs } )."
490500 api_server_logger .error (err_msg )
491- raise ParameterError ("top_logprobs" , err_msg )
501+ raise ValueError ("top_logprobs" if is_chat else "logprobs " , err_msg )
492502
493503 if not envs .FD_USE_GET_SAVE_OUTPUT_V1 :
494- if top_logprobs < 0 or top_logprobs > 20 :
495- err_msg = f"top_logprobs must be between 0 and 20 ; the current value is { top_logprobs } ."
504+ if top_logprobs < 0 or top_logprobs > max_logprobs :
505+ err_msg = f"{ ' top_logprobs' if is_chat else 'logprobs' } must be between 0 and { max_logprobs } ; the current value is { top_logprobs } ."
496506 api_server_logger .error (err_msg )
497- raise ValueError ("top_logprobs" , err_msg )
507+ raise ValueError ("top_logprobs" if is_chat else "logprobs" , err_msg )
498508 else :
499509 if top_logprobs == - 1 and self .ori_vocab_size > max_logprobs :
500- err_msg = f"The requested value of ({ self .ori_vocab_size } ) for top_logprobs (-1) exceeds the maximum allowed value of ({ max_logprobs } )"
510+ err_msg = f"The requested value of ({ self .ori_vocab_size } ) for { ' top_logprobs' if is_chat else 'logprobs' } (-1) exceeds the maximum allowed value of ({ max_logprobs } )"
501511 api_server_logger .error (err_msg )
502- raise ValueError ("top_logprobs" , err_msg )
512+ raise ValueError ("top_logprobs" if is_chat else "logprobs" , err_msg )
503513
504514 if top_logprobs < - 1 :
505- err_msg = f"top_logprobs must be a non-negative value or -1; the current value is { top_logprobs } ."
506- api_server_logger .error (err_msg )
507- raise ValueError ("top_logprobs" , err_msg )
508-
509- if top_logprobs > max_logprobs :
510- err_msg = f"Number of logprobs requested ({ top_logprobs } ) exceeds maximum allowed value ({ max_logprobs } )."
515+ err_msg = f"{ 'top_logprobs' if is_chat else 'logprobs' } must be a non-negative value or -1; the current value is { top_logprobs } ."
511516 api_server_logger .error (err_msg )
512- raise ValueError ("top_logprobs" , err_msg )
517+ raise ValueError ("top_logprobs" if is_chat else "logprobs" , err_msg )
513518
514519 def check_health (self , time_interval_threashold = 30 ):
515520 """
0 commit comments