File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -413,6 +413,9 @@ async fn chat_completions(
413413 // and early return a 501 NOT_IMPLEMENTED status code. Otherwise, proceeed.
414414 validate_chat_completion_unsupported_fields ( & request) ?;
415415
416+ // Handle required fields like messages shouldn't be empty.
417+ validate_chat_completion_required_fields ( & request) ?;
418+
416419 // Apply template values if present
417420 if let Some ( template) = template {
418421 if request. inner . model . is_empty ( ) {
@@ -558,6 +561,22 @@ pub fn validate_chat_completion_unsupported_fields(
558561 Ok ( ( ) )
559562}
560563
564+ /// Validates that required fields are present and valid in the chat completion request
565+ pub fn validate_chat_completion_required_fields (
566+ request : & NvCreateChatCompletionRequest ,
567+ ) -> Result < ( ) , ErrorResponse > {
568+ let inner = & request. inner ;
569+
570+ if inner. messages . is_empty ( ) {
571+ return Err ( ErrorMessage :: from_http_error ( HttpError {
572+ code : 400 ,
573+ message : "The 'messages' field cannot be empty. At least one message is required." . to_string ( ) ,
574+ } ) ) ;
575+ }
576+
577+ Ok ( ( ) )
578+ }
579+
561580/// OpenAI Responses Request Handler
562581///
563582/// This method will handle the incoming request for the /v1/responses endpoint.
You can’t perform that action at this time.
0 commit comments