diff --git a/src/client/azure_openai.rs b/src/client/azure_openai.rs index e64277f..367b0ea 100644 --- a/src/client/azure_openai.rs +++ b/src/client/azure_openai.rs @@ -18,7 +18,7 @@ pub struct AzureOpenAIConfig { impl AzureOpenAIClient { config_get_fn!(api_base, get_api_base); config_get_fn!(api_key, get_api_key); - + create_client_config!([ ( "api_base", diff --git a/src/client/vertexai.rs b/src/client/vertexai.rs index d4be930..06fc43b 100644 --- a/src/client/vertexai.rs +++ b/src/client/vertexai.rs @@ -119,7 +119,11 @@ fn prepare_chat_completions( format!("{base_url}/google/models/{model_name}:{func}") } ModelCategory::Claude => { - format!("{base_url}/anthropic/models/{model_name}:streamRawPredict") + let func = match data.stream { + true => "streamRawPredict", + false => "rawPredict", + }; + format!("{base_url}/anthropic/models/{model_name}:{func}") } ModelCategory::Mistral => { let func = match data.stream { diff --git a/src/rag/mod.rs b/src/rag/mod.rs index 19cc6f2..05c13ef 100644 --- a/src/rag/mod.rs +++ b/src/rag/mod.rs @@ -16,8 +16,8 @@ use parking_lot::RwLock; use serde::{Deserialize, Serialize}; use serde_json::json; use std::{ - collections::HashMap, env, fmt, fmt::Debug, fs, hash::Hash, path::Path, sync::Arc, - time::Duration, + cmp::Ordering, collections::HashMap, env, fmt, fmt::Debug, fs, hash::Hash, path::Path, + sync::Arc, time::Duration, }; use tokio::time::sleep; @@ -1196,7 +1196,7 @@ fn reciprocal_rank_fusion( } } let mut sorted_items: Vec<(DocumentId, f32)> = map.into_iter().collect(); - sorted_items.sort_by(|a, b| b.1.partial_cmp(&a.1).unwrap()); + sorted_items.sort_by(|a, b| b.1.partial_cmp(&a.1).unwrap_or(Ordering::Equal)); sorted_items .into_iter()