Skip to content

Commit a82e10a

Browse files
committed
refactor: make vector ops in client non consuming
1 parent 4fd9ef5 commit a82e10a

File tree

2 files changed

+34
-33
lines changed

2 files changed

+34
-33
lines changed

src/completion/client.rs

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -49,41 +49,42 @@ impl Groq {
4949
}
5050
}
5151

52-
pub fn add_message(mut self, msg: Message) -> Self {
52+
pub fn add_message(&mut self, msg: Message) {
53+
//! Non Consuming
5354
//! Adds a message to the internal message vector
5455
self.messages.push(msg);
55-
self
5656
}
5757

58-
pub fn add_messages(mut self, msgs: Vec<Message>) -> Self {
58+
pub fn add_messages(&mut self, msgs: Vec<Message>) {
59+
//! Non Consuming
5960
//! Add messages to the internal message vector
6061
self.messages.extend(msgs);
61-
self
6262
}
6363

64-
pub fn clear_messages(mut self) -> Self {
64+
pub fn clear_messages(&mut self) {
65+
//! Non Consuming
6566
//! Clears the internal message vector.
6667
//! And shrink the capacity to 3.
6768
self.messages.clear();
6869
self.messages.shrink_to(3);
69-
self
7070
}
7171

7272
/// Clears the internal tmp_messages vector.
7373
/// # Note
7474
/// Fucntion is created for internal use and is not recomended for external use.
7575
pub fn clear_disposable_msgs_override(&mut self) {
76+
//! Non Consuming
7677
self.disposable_msgs.clear();
7778
}
7879

79-
pub fn add_disposable_msgs(mut self, msgs: Vec<Message>) -> Self {
80+
pub fn add_disposable_msgs(&mut self, msgs: Vec<Message>) {
81+
//! Non Consuming
8082
self.disposable_msgs.extend(msgs);
81-
self
8283
}
8384

84-
pub fn add_disposable_msg(mut self, msg: Message) -> Self {
85+
pub fn add_disposable_msg(&mut self, msg: Message) {
86+
//! Non Consuming
8587
self.disposable_msgs.push(msg);
86-
self
8788
}
8889

8990
fn get_disposable_msgs(&self) -> Option<Vec<Message>> {
@@ -102,7 +103,7 @@ impl Groq {
102103
if self.disposable_msgs.is_empty() {
103104
self.messages.clone()
104105
} else {
105-
return vec![self.messages.clone(), self.disposable_msgs.clone()].concat();
106+
vec![self.messages.clone(), self.disposable_msgs.clone()].concat()
106107
}
107108
}
108109

@@ -111,7 +112,7 @@ impl Groq {
111112
fn get_request_messages_with_disposable_clear(&mut self) -> Vec<Message> {
112113
let all = self.get_all_request_messages();
113114
self.clear_disposable_msgs_override();
114-
return all;
115+
all
115116
}
116117

117118
async fn create_stream_completion(
@@ -173,7 +174,7 @@ impl Groq {
173174
if body.status() == reqwest::StatusCode::OK {
174175
Ok(CompletionOption::NonStream(body.json::<Response>().await?))
175176
} else {
176-
let statcode = body.status().clone();
177+
let statcode = body.status();
177178
let mut error: ErrorResponse = serde_json::from_str(&body.text().await?)?;
178179
error.code = statcode;
179180
anyhow::bail!(error)
@@ -243,8 +244,8 @@ mod completion_test {
243244
let request = builder::RequestBuilder::new("mixtral-8x7b-32768".to_string());
244245
let api_key = env!("GROQ_API_KEY");
245246

246-
let client = Groq::new(api_key);
247-
let mut client = client.add_messages(messages);
247+
let mut client = Groq::new(api_key);
248+
client.add_messages(messages);
248249

249250
let res = client.create(request).await;
250251
assert!(res.is_ok());
@@ -263,8 +264,8 @@ mod completion_test {
263264
builder::RequestBuilder::new("mixtral-8x7b-32768".to_string()).with_stream(true);
264265
let api_key = env!("GROQ_API_KEY");
265266

266-
let client = Groq::new(api_key);
267-
let mut client = client.add_messages(messages);
267+
let mut client = Groq::new(api_key);
268+
client.add_messages(messages);
268269

269270
let res = client.create(request).await;
270271
assert!(res.is_ok());
@@ -284,8 +285,8 @@ mod completion_test {
284285
builder::RequestBuilder::new("mixtral-8x7b-32768".to_string()).with_stream(true);
285286
let api_key = "";
286287

287-
let client = Groq::new(api_key);
288-
let mut client = client.add_messages(messages);
288+
let mut client = Groq::new(api_key);
289+
client.add_messages(messages);
289290

290291
let res = client.create(request).await;
291292
assert!(res.is_err());
@@ -305,14 +306,14 @@ mod completion_test {
305306
let api_key = env!("GROQ_API_KEY");
306307

307308
let client = Groq::new(api_key);
308-
let mut client = client
309-
.add_messages(messages)
310-
.add_disposable_msg(Message::UserMessage {
311-
role: Some("user".to_string()),
312-
content: Some("Explain the importance of fast language models".to_string()),
313-
name: None,
314-
tool_call_id: None,
315-
});
309+
let mut client = client;
310+
client.add_messages(messages);
311+
client.add_disposable_msg(Message::UserMessage {
312+
role: Some("user".to_string()),
313+
content: Some("Explain the importance of fast language models".to_string()),
314+
name: None,
315+
tool_call_id: None,
316+
});
316317

317318
assert!(client.get_disposable_msgs().is_some());
318319
let res = client.create(request).await;

src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
//! let request = builder::RequestBuilder::new("mixtral-8x7b-32768".to_string());
2727
//! let api_key = env!("GROQ_API_KEY");
2828
//!
29-
//! let client = Groq::new(api_key);
30-
//! let mut client = client.add_messages(messages);
29+
//! let mut client = Groq::new(api_key);
30+
//! client.add_messages(messages);
3131
//!
3232
//! let res = client.create(request).await;
3333
//! assert!(res.is_ok());
@@ -49,8 +49,8 @@
4949
//! builder::RequestBuilder::new("mixtral-8x7b-32768".to_string()).with_stream(true);
5050
//! let api_key = env!("GROQ_API_KEY");
5151
//!
52-
//! let client = Groq::new(api_key);
53-
//! let mut client = client.add_messages(messages);
52+
//! let mut client = Groq::new(api_key);
53+
//! client.add_messages(messages);
5454
//!
5555
//! let res = client.create(request).await;
5656
//! assert!(res.is_ok());
@@ -72,8 +72,8 @@
7272
//! builder::RequestBuilder::new("mixtral-8x7b-32768".to_string()).with_stream(true);
7373
//! let api_key = "";
7474
//!
75-
//! let client = Groq::new(api_key);
76-
//! let mut client = client.add_messages(messages);
75+
//! let mut client = Groq::new(api_key);
76+
//! client.add_messages(messages);
7777
//!
7878
//! let res = client.create(request).await;
7979
//! assert!(res.is_err());

0 commit comments

Comments
 (0)