Merge branch 'release-v1.16.0' into render-route

This commit is contained in:
Mubelotix
2025-08-01 08:57:37 +02:00
3 changed files with 21 additions and 18 deletions

View File

@ -171,5 +171,5 @@ german = ["meilisearch-types/german"]
turkish = ["meilisearch-types/turkish"] turkish = ["meilisearch-types/turkish"]
[package.metadata.mini-dashboard] [package.metadata.mini-dashboard]
assets-url = "https://github.com/meilisearch/mini-dashboard/releases/download/v0.2.20/build.zip" assets-url = "https://github.com/meilisearch/mini-dashboard/releases/download/v0.2.21/build.zip"
sha1 = "82a7ddd7bf14bb5323c3d235d2b62892a98b6a59" sha1 = "94f56a8e24e2e3a1bc1bd7d9ceaa23464a5e241a"

View File

@ -15,30 +15,33 @@ lazy_static! {
"Meilisearch number of degraded search requests" "Meilisearch number of degraded search requests"
)) ))
.expect("Can't create a metric"); .expect("Can't create a metric");
pub static ref MEILISEARCH_CHAT_SEARCH_REQUESTS: IntCounterVec = register_int_counter_vec!( pub static ref MEILISEARCH_CHAT_SEARCHES_TOTAL: IntCounterVec = register_int_counter_vec!(
opts!( opts!(
"meilisearch_chat_search_requests", "meilisearch_chat_searches_total",
"Meilisearch number of search requests performed by the chat route itself" "Total number of searches performed by the chat route"
), ),
&["type"] &["type"]
) )
.expect("Can't create a metric"); .expect("Can't create a metric");
pub static ref MEILISEARCH_CHAT_PROMPT_TOKENS_USAGE: IntCounterVec = register_int_counter_vec!( pub static ref MEILISEARCH_CHAT_PROMPT_TOKENS_TOTAL: IntCounterVec = register_int_counter_vec!(
opts!("meilisearch_chat_prompt_tokens_usage", "Meilisearch Chat Prompt Tokens Usage"), opts!("meilisearch_chat_prompt_tokens_total", "Total number of prompt tokens consumed"),
&["workspace", "model"] &["workspace", "model"]
) )
.expect("Can't create a metric"); .expect("Can't create a metric");
pub static ref MEILISEARCH_CHAT_COMPLETION_TOKENS_USAGE: IntCounterVec = pub static ref MEILISEARCH_CHAT_COMPLETION_TOKENS_TOTAL: IntCounterVec =
register_int_counter_vec!( register_int_counter_vec!(
opts!( opts!(
"meilisearch_chat_completion_tokens_usage", "meilisearch_chat_completion_tokens_total",
"Meilisearch Chat Completion Tokens Usage" "Total number of completion tokens consumed"
), ),
&["workspace", "model"] &["workspace", "model"]
) )
.expect("Can't create a metric"); .expect("Can't create a metric");
pub static ref MEILISEARCH_CHAT_TOTAL_TOKENS_USAGE: IntCounterVec = register_int_counter_vec!( pub static ref MEILISEARCH_CHAT_TOKENS_TOTAL: IntCounterVec = register_int_counter_vec!(
opts!("meilisearch_chat_total_tokens_usage", "Meilisearch Chat Total Tokens Usage"), opts!(
"meilisearch_chat_tokens_total",
"Total number of tokens consumed (prompt + completion)"
),
&["workspace", "model"] &["workspace", "model"]
) )
.expect("Can't create a metric"); .expect("Can't create a metric");

View File

@ -50,8 +50,8 @@ use crate::error::MeilisearchHttpError;
use crate::extractors::authentication::policies::ActionPolicy; use crate::extractors::authentication::policies::ActionPolicy;
use crate::extractors::authentication::{extract_token_from_request, GuardedData, Policy as _}; use crate::extractors::authentication::{extract_token_from_request, GuardedData, Policy as _};
use crate::metrics::{ use crate::metrics::{
MEILISEARCH_CHAT_COMPLETION_TOKENS_USAGE, MEILISEARCH_CHAT_PROMPT_TOKENS_USAGE, MEILISEARCH_CHAT_COMPLETION_TOKENS_TOTAL, MEILISEARCH_CHAT_PROMPT_TOKENS_TOTAL,
MEILISEARCH_CHAT_SEARCH_REQUESTS, MEILISEARCH_CHAT_TOTAL_TOKENS_USAGE, MEILISEARCH_CHAT_SEARCHES_TOTAL, MEILISEARCH_CHAT_TOKENS_TOTAL,
MEILISEARCH_DEGRADED_SEARCH_REQUESTS, MEILISEARCH_DEGRADED_SEARCH_REQUESTS,
}; };
use crate::routes::chats::utils::SseEventSender; use crate::routes::chats::utils::SseEventSender;
@ -319,7 +319,7 @@ async fn process_search_request(
}; };
let mut documents = Vec::new(); let mut documents = Vec::new();
if let Ok((ref rtxn, ref search_result)) = output { if let Ok((ref rtxn, ref search_result)) = output {
MEILISEARCH_CHAT_SEARCH_REQUESTS.with_label_values(&["internal"]).inc(); MEILISEARCH_CHAT_SEARCHES_TOTAL.with_label_values(&["internal"]).inc();
if search_result.degraded { if search_result.degraded {
MEILISEARCH_DEGRADED_SEARCH_REQUESTS.inc(); MEILISEARCH_DEGRADED_SEARCH_REQUESTS.inc();
} }
@ -596,13 +596,13 @@ async fn run_conversation<C: async_openai::config::Config>(
match result { match result {
Ok(resp) => { Ok(resp) => {
if let Some(usage) = resp.usage.as_ref() { if let Some(usage) = resp.usage.as_ref() {
MEILISEARCH_CHAT_PROMPT_TOKENS_USAGE MEILISEARCH_CHAT_PROMPT_TOKENS_TOTAL
.with_label_values(&[workspace_uid, &chat_completion.model]) .with_label_values(&[workspace_uid, &chat_completion.model])
.inc_by(usage.prompt_tokens as u64); .inc_by(usage.prompt_tokens as u64);
MEILISEARCH_CHAT_COMPLETION_TOKENS_USAGE MEILISEARCH_CHAT_COMPLETION_TOKENS_TOTAL
.with_label_values(&[workspace_uid, &chat_completion.model]) .with_label_values(&[workspace_uid, &chat_completion.model])
.inc_by(usage.completion_tokens as u64); .inc_by(usage.completion_tokens as u64);
MEILISEARCH_CHAT_TOTAL_TOKENS_USAGE MEILISEARCH_CHAT_TOKENS_TOTAL
.with_label_values(&[workspace_uid, &chat_completion.model]) .with_label_values(&[workspace_uid, &chat_completion.model])
.inc_by(usage.total_tokens as u64); .inc_by(usage.total_tokens as u64);
} }