Fix tool call response to adhere to OpenAI spec

This commit is contained in:
datta0 2025-01-24 07:22:11 +00:00
parent d9dda11726
commit 3495248d87

View File

@ -1432,13 +1432,21 @@ pub(crate) async fn chat_completions(
(None, Some(content_message))
}
_ => {
let arguments_string = serde_json::to_string(&arguments).map_err(|e| {
InferError::ToolError(format!(
"Failed to serialize arguments to string: {}",
e
))
})?;
println!("Arguments: {:?}", arguments);
println!("Arguments String: {:?}", arguments_string);
let tool_calls = vec![ToolCall {
id: "0".to_string(),
id: format!("{:09}", 0),
r#type: "function".to_string(),
function: FunctionDefinition {
description: None,
name,
arguments,
arguments: Value::String(arguments_string), // Serialize to string here
},
}];
(Some(tool_calls), None)