diff options
| author | sigoden <sigoden@gmail.com> | 2024-11-13 18:24:43 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-13 18:24:43 +0800 |
| commit | ff0ea19b48a18e9a1849bd2a653173a3ed4e4560 (patch) | |
| tree | b8a8b9d15639649f2fa6e7dc72adcfae770bfc4e /src/client/openai.rs | |
| parent | 163ab626cd2b8875161b2598e9400df201eacaa8 (diff) | |
| download | aichat-ff0ea19b48a18e9a1849bd2a653173a3ed4e4560.tar.gz | |
fix: invalid request on qianwen multi tool-calls (#993)
Diffstat (limited to 'src/client/openai.rs')
| -rw-r--r-- | src/client/openai.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/client/openai.rs b/src/client/openai.rs index c4c2b0c..0f01e36 100644 --- a/src/client/openai.rs +++ b/src/client/openai.rs @@ -205,8 +205,13 @@ pub fn openai_build_chat_completions_body(data: ChatCompletionsData, model: &Mod .flat_map(|message| { let Message { role, content } = message; match content { - MessageContent::ToolResults((tool_results, text)) => { - if let Some(true) = tool_results.first().map(|v| v.call.id.is_some()) { + MessageContent::ToolResults(results) => { + let ToolResults { + tool_results, + text, + sequence, + } = results; + if !sequence { let tool_calls: Vec<_> = tool_results.iter().map(|tool_result| { json!({ "id": tool_result.call.id, |
