rig/providers/together/
streaming.rs1use serde_json::json;
2
3use super::completion::CompletionModel;
4use crate::providers::openai::send_compatible_streaming_request;
5use crate::{
6 completion::{CompletionError, CompletionRequest},
7 json_utils::merge,
8 streaming::{StreamingCompletionModel, StreamingResult},
9};
10
11impl StreamingCompletionModel for CompletionModel {
12 async fn stream(
13 &self,
14 completion_request: CompletionRequest,
15 ) -> Result<StreamingResult, CompletionError> {
16 let mut request = self.create_completion_request(completion_request)?;
17
18 request = merge(request, json!({"stream_tokens": true}));
19
20 let builder = self.client.post("/v1/chat/completions").json(&request);
21
22 send_compatible_streaming_request(builder).await
23 }
24}