diff --git a/.gitignore b/.gitignore index 1628facd1..e24f22615 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ target/ .idea/ .vscode/ .devcontainer/ +.fastembed_cache/ # env .env diff --git a/rig-core/src/providers/deepseek.rs b/rig-core/src/providers/deepseek.rs index 099cfd4be..036fbf75a 100644 --- a/rig-core/src/providers/deepseek.rs +++ b/rig-core/src/providers/deepseek.rs @@ -11,6 +11,7 @@ use crate::client::{CompletionClient, ProviderClient}; use crate::json_utils::merge; +use crate::message::Document; use crate::providers::openai; use crate::providers::openai::send_compatible_streaming_request; use crate::streaming::StreamingCompletionResponse; @@ -236,6 +237,12 @@ impl TryFrom for Vec { content: text.text, name: None, }), + message::UserContent::Document(Document { data, .. }) => { + Some(Message::User { + content: data, + name: None, + }) + } _ => None, }) .collect::>(); @@ -391,9 +398,11 @@ impl DeepSeekCompletionModel { ) -> Result { // Build up the order of messages (context, chat_history, prompt) let mut partial_history = vec![]; + if let Some(docs) = completion_request.normalized_documents() { partial_history.push(docs); } + partial_history.extend(completion_request.chat_history); // Initialize full history with preamble (or empty if non-existent) @@ -452,6 +461,8 @@ impl CompletionModel for DeepSeekCompletionModel { > { let request = self.create_completion_request(completion_request)?; + tracing::debug!("DeepSeek completion request: {request:?}"); + let response = self .client .post("/chat/completions")