feat: log user message

This commit is contained in:
2026-05-13 12:39:02 +02:00
parent c976db7063
commit f01bc74059
7 changed files with 327 additions and 11 deletions
+15 -5
View File
@@ -345,7 +345,7 @@ impl OllamaProvider {
pub async fn chat_completions_stream(
&self,
body: &api::ChatRequest,
) -> Result<ReceiverStream<Result<Event, OllamaError>>, OllamaError> {
) -> Result<ReceiverStream<Result<api::ChatCompletionChunk, OllamaError>>, OllamaError> {
let url = format!("{}/api/chat", self.base_url);
let (messages, model) = self.extract_chat_params(body)?;
@@ -399,6 +399,18 @@ impl OllamaProvider {
Err(_) => continue,
};
let usage = if parsed.done {
Some(api::Usage {
prompt_tokens: parsed.prompt_eval_count.unwrap_or(0) as u32,
completion_tokens: parsed.eval_count.unwrap_or(0) as u32,
total_tokens: (parsed.prompt_eval_count.unwrap_or(0)
+ parsed.eval_count.unwrap_or(0))
as u32,
})
} else {
None
};
let event = api::ChatCompletionChunk {
id: stream_id.clone(),
object: "chat.completion.chunk".to_string(),
@@ -414,14 +426,12 @@ impl OllamaProvider {
None
},
}],
usage,
};
let event_data = serde_json::to_string(&event).unwrap_or_default();
let _ = tx.send(Ok(Event::default().data(event_data))).await;
let _ = tx.send(Ok(event)).await;
if parsed.done {
let _ = tx.send(Ok(Event::default().data("[DONE]"))).await;
break;
}
}