diff options
| author | sigoden <sigoden@gmail.com> | 2024-04-29 23:04:25 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-29 23:04:25 +0800 |
| commit | 4d4a100fe6fcde7ca3afcf7971ac387d355349eb (patch) | |
| tree | 2a43194cb99b4193cbf8e35162bbc8d6660d58b9 /src/client/openai.rs | |
| parent | ffb0af8236331c942f19ae7c4c4da38a6d0e8214 (diff) | |
| download | aichat-4d4a100fe6fcde7ca3afcf7971ac387d355349eb.tar.gz | |
refactor: sse handling (#465)
Diffstat (limited to 'src/client/openai.rs')
| -rw-r--r-- | src/client/openai.rs | 8 |
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)?; } |
