summaryrefslogtreecommitdiffstats
path: root/src/client/openai.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-29 23:04:25 +0800
committerGitHub <noreply@github.com>2024-04-29 23:04:25 +0800
commit4d4a100fe6fcde7ca3afcf7971ac387d355349eb (patch)
tree2a43194cb99b4193cbf8e35162bbc8d6660d58b9 /src/client/openai.rs
parentffb0af8236331c942f19ae7c4c4da38a6d0e8214 (diff)
downloadaichat-4d4a100fe6fcde7ca3afcf7971ac387d355349eb.tar.gz
refactor: sse handling (#465)
Diffstat (limited to 'src/client/openai.rs')
-rw-r--r--src/client/openai.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/client/openai.rs b/src/client/openai.rs
index ad833c7..e1412ce 100644
--- a/src/client/openai.rs
+++ b/src/client/openai.rs
@@ -1,6 +1,6 @@
use super::{
catch_error, sse_stream, CompletionDetails, ExtraConfig, Model, ModelConfig, OpenAIClient,
- PromptType, SendData, SseHandler,
+ PromptType, SendData, SsMmessage, SseHandler,
};
use crate::utils::PromptKind;
@@ -65,11 +65,11 @@ pub async fn openai_send_message_streaming(
builder: RequestBuilder,
handler: &mut SseHandler,
) -> Result<()> {
- let handle = |data: &str| -> Result<bool> {
- if data == "[DONE]" {
+ let handle = |message: SsMmessage| -> Result<bool> {
+ if message.data == "[DONE]" {
return Ok(true);
}
- let data: Value = serde_json::from_str(data)?;
+ let data: Value = serde_json::from_str(&message.data)?;
if let Some(text) = data["choices"][0]["delta"]["content"].as_str() {
handler.text(text)?;
}