1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// ---------------- [ File: batch-mode-process-response/src/handle_finish_reason_length.rs ]
crate::ix!();
pub async fn handle_finish_reason_length(
failed_id: &str,
_message_content: &BatchMessageContent,
) -> Result<(), BatchSuccessResponseHandlingError> {
/*
// Adjust the prompt to be more concise
let adjusted_prompt = adjust_prompt_for_retry(&original_request.messages[0].content);
// Create a new request with adjusted prompt
let retry_request = LanguageModelBatchAPIRequest {
messages: vec![ChatCompletionRequestMessage {
role: "user".to_string(),
content: adjusted_prompt,
}],
max_tokens: Some(1000), // Adjust as needed
// ... other fields ...
};
// Send the retry request
let retry_response = send_retry_request(retry_request).await?;
// Handle the retry response recursively
return handle_successful_response(&retry_response, &retry_request).await;
*/
error!(
"{}",
format!(
"Response was truncated for request ID '{}'. We will extract what we can from the broken json string. We could eventually implement a way to retry here with adjusted query parameters",
failed_id
)
);
Ok(())
}
#[cfg(test)]
mod handle_finish_reason_length_tests {
use super::*;
use futures::executor::block_on;
#[traced_test]
async fn test_handle_finish_reason_length() {
let message_content = BatchMessageContentBuilder::default()
.content("Partial/truncated response".to_string()) // <-- REPLACED direct .from(...)
.build()
.unwrap();
let result = handle_finish_reason_length("some_truncated_id", &message_content).await;
assert!(result.is_ok());
}
}