diff options
| author | sigoden <sigoden@gmail.com> | 2023-11-09 08:55:52 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-09 08:55:52 +0800 |
| commit | 757c192829cd434b3c72bc6a44a1a9d4973705e2 (patch) | |
| tree | 12125f987ff942fb0a09f9d3785bc1417a394764 /src/client/qianwen.rs | |
| parent | 01cf8acb814a6713c1fa95ca5438c35817589e30 (diff) | |
| download | aichat-757c192829cd434b3c72bc6a44a1a9d4973705e2.tar.gz | |
refactor: qianwen client use incremental_output (#240)
Diffstat (limited to 'src/client/qianwen.rs')
| -rw-r--r-- | src/client/qianwen.rs | 10 |
1 files 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(); } |
