From 757c192829cd434b3c72bc6a44a1a9d4973705e2 Mon Sep 17 00:00:00 2001 From: sigoden Date: Thu, 9 Nov 2023 08:55:52 +0800 Subject: [PATCH] refactor: qianwen client use incremental_output (#240) --- src/client/qianwen.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/client/qianwen.rs b/src/client/qianwen.rs index 2ed9945..1ee5f3d 100644 --- a/src/client/qianwen.rs +++ b/src/client/qianwen.rs @@ -94,7 +94,6 @@ async fn send_message_streaming( handler: &mut ReplyHandler, ) -> Result<()> { let mut es = builder.eventsource()?; - let mut offset = 0; while let Some(event) = es.next().await { match event { @@ -102,10 +101,7 @@ async fn send_message_streaming( Ok(Event::Message(message)) => { let data: Value = serde_json::from_str(&message.data)?; if let Some(text) = data["output"]["text"].as_str() { - - let text = &text[offset..]; handler.text(text)?; - offset += text.len(); } } Err(err) => { @@ -143,11 +139,15 @@ fn build_body(data: SendData, model: String) -> Value { let SendData { messages, temperature, - stream: _, + stream, } = data; let mut parameters = json!({}); + if stream { + parameters["incremental_output"] = true.into(); + } + if let Some(v) = temperature { parameters["temperature"] = v.into(); }