This commit is contained in:
Mubelotix
2025-07-28 12:53:04 +02:00
parent d4865b31b6
commit 1916787bdd
4 changed files with 18 additions and 29 deletions

View File

@ -174,12 +174,8 @@ impl<'a> Index<'a, Owned> {
self._update_settings(settings).await self._update_settings(settings).await
} }
pub async fn update_settings_chat( pub async fn update_settings_chat(&self, settings: Value) -> (Value, StatusCode) {
&self, let url = format!("/indexes/{}/settings/chat", urlencode(self.uid.as_ref()));
settings: Value,
) -> (Value, StatusCode) {
let url =
format!("/indexes/{}/settings/chat", urlencode(self.uid.as_ref()));
self.service.put_encoded(url, settings, self.encoder).await self.service.put_encoded(url, settings, self.encoder).await
} }

View File

@ -7,9 +7,11 @@ async fn set_reset_chat_issue_5772() {
let server = Server::new().await; let server = Server::new().await;
let index = server.unique_index(); let index = server.unique_index();
let (_, code) = server.set_features(json!({ let (_, code) = server
"chatCompletions": true, .set_features(json!({
})).await; "chatCompletions": true,
}))
.await;
snapshot!(code, @r#"200 OK"#); snapshot!(code, @r#"200 OK"#);
let (task1, _code) = index.update_settings_chat(json!({ let (task1, _code) = index.update_settings_chat(json!({

View File

@ -57,13 +57,13 @@ impl From<ChatConfig> for ChatSettings {
ranking_score_threshold, ranking_score_threshold,
} = search_parameters; } = search_parameters;
if hybrid.is_none() && if hybrid.is_none()
limit.is_none() && && limit.is_none()
sort.is_none() && && sort.is_none()
distinct.is_none() && && distinct.is_none()
matching_strategy.is_none() && && matching_strategy.is_none()
attributes_to_search_on.is_none() && && attributes_to_search_on.is_none()
ranking_score_threshold.is_none() && ranking_score_threshold.is_none()
{ {
None None
} else { } else {
@ -94,10 +94,8 @@ impl From<ChatSettings> for ChatConfig {
search_parameters, search_parameters,
} = settings; } = settings;
let prompt = PromptData { let prompt =
template: document_template, PromptData { template: document_template, max_bytes: document_template_max_bytes };
max_bytes: document_template_max_bytes,
};
let search_parameters = match search_parameters { let search_parameters = match search_parameters {
Some(params) => SearchParameters { Some(params) => SearchParameters {
@ -115,11 +113,7 @@ impl From<ChatSettings> for ChatConfig {
None => SearchParameters::default(), None => SearchParameters::default(),
}; };
ChatConfig { ChatConfig { description, prompt, search_parameters }
description,
prompt,
search_parameters,
}
} }
} }

View File

@ -1305,10 +1305,7 @@ impl<'a, 't, 'i> Settings<'a, 't, 'i> {
fn update_chat_config(&mut self) -> Result<bool> { fn update_chat_config(&mut self) -> Result<bool> {
match &mut self.chat { match &mut self.chat {
Setting::Set(settings) => { Setting::Set(settings) => {
self.index.put_chat_config( self.index.put_chat_config(self.wtxn, &settings.clone().into())?;
self.wtxn,
&settings.clone().into(),
)?;
Ok(true) Ok(true)
} }