diff --git a/crates/meilisearch-types/src/error.rs b/crates/meilisearch-types/src/error.rs index 27f7580e2..17c28acc3 100644 --- a/crates/meilisearch-types/src/error.rs +++ b/crates/meilisearch-types/src/error.rs @@ -390,6 +390,7 @@ InvalidDocumentEditionFunctionFilter , InvalidRequest , BAD_REQU EditDocumentsByFunctionError , InvalidRequest , BAD_REQUEST ; InvalidSettingsIndexChat , InvalidRequest , BAD_REQUEST ; // Experimental features - Chat Completions +UnimplementedNonStreamingChatCompletions , InvalidRequest , NOT_IMPLEMENTED ; ChatWorkspaceNotFound , InvalidRequest , NOT_FOUND ; InvalidChatCompletionOrgId , InvalidRequest , BAD_REQUEST ; InvalidChatCompletionProjectId , InvalidRequest , BAD_REQUEST ; diff --git a/crates/meilisearch/src/routes/chats/chat_completions.rs b/crates/meilisearch/src/routes/chats/chat_completions.rs index f4e42cae3..e89129f18 100644 --- a/crates/meilisearch/src/routes/chats/chat_completions.rs +++ b/crates/meilisearch/src/routes/chats/chat_completions.rs @@ -301,17 +301,23 @@ async fn process_search_request( Ok((index, documents, text)) } +#[allow(unreachable_code, unused_variables)] // will be correctly implemented in the future async fn non_streamed_chat( index_scheduler: GuardedData, Data>, auth_ctrl: web::Data, search_queue: web::Data, workspace_uid: &str, req: HttpRequest, - mut chat_completion: CreateChatCompletionRequest, + chat_completion: CreateChatCompletionRequest, ) -> Result { index_scheduler.features().check_chat_completions("using the /chats chat completions route")?; - let filters = index_scheduler.filters(); + return Err(ResponseError::from_msg( + format!("Non-streamed chat completions is not implemented"), + Code::UnimplementedNonStreamingChatCompletions, + )); + + let filters = index_scheduler.filters(); let rtxn = index_scheduler.read_txn()?; let chat_settings = match index_scheduler.chat_settings(&rtxn, workspace_uid).unwrap() { Some(settings) => settings,