Skip to content

Commit 5e30d46

Browse files
committed
fix: only normalize tool args for render
1 parent b0a3cb2 commit 5e30d46

File tree

1 file changed

+7
-4
lines changed
  • lib/llm/src/preprocessor/prompt/template

1 file changed

+7
-4
lines changed

lib/llm/src/preprocessor/prompt/template/oai.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,7 @@ impl OAIChatLikeRequest for NvCreateChatCompletionRequest {
158158
}
159159

160160
fn messages(&self) -> Value {
161-
let mut messages_json = serde_json::to_value(&self.inner.messages).unwrap();
162-
163-
normalize_tool_arguments_in_messages(&mut messages_json);
161+
let messages_json = serde_json::to_value(&self.inner.messages).unwrap();
164162

165163
let needs_fixing = if let Some(arr) = messages_json.as_array() {
166164
arr.iter()
@@ -300,8 +298,13 @@ impl OAIPromptFormatter for HfTokenizerConfigJsonFormatter {
300298
add_generation_prompt
301299
);
302300

301+
let messages_canonical = req.messages();
302+
let mut messages_for_template: serde_json::Value =
303+
serde_json::to_value(&messages_canonical).unwrap();
304+
normalize_tool_arguments_in_messages(&mut messages_for_template);
305+
303306
let ctx = context! {
304-
messages => req.messages(),
307+
messages => messages_for_template,
305308
tools => tools,
306309
bos_token => self.config.bos_tok(),
307310
eos_token => self.config.eos_tok(),

0 commit comments

Comments
 (0)