11# Copyright (c) OpenMMLab. All rights reserved.
2- from typing import Dict , List
2+ from typing import Dict , List , Optional
33
44import torch
55from transformers import AutoConfig , AutoModel , CLIPImageProcessor
@@ -222,7 +222,13 @@ def forward(self, messages: List[Dict], max_batch_size: int = 1) -> List[Dict]:
222222 return messages
223223
224224 @staticmethod
225- def proc_messages (messages , chat_template , sequence_start ):
225+ def proc_messages (
226+ messages ,
227+ chat_template ,
228+ sequence_start ,
229+ tools : Optional [List [object ]] = None ,
230+ enable_thinking : Optional [bool ] = None ,
231+ ):
226232 """Apply chat template to get the prompt."""
227233 prompt_messages = []
228234 IMAGE_TOKEN = '<IMAGE_TOKEN>'
@@ -245,13 +251,38 @@ def proc_messages(messages, chat_template, sequence_start):
245251 else :
246252 pass
247253 prompt_messages .append (dict (role = 'user' , content = prompt ))
248- prompt = chat_template .messages2prompt (prompt_messages , sequence_start )
254+ prompt = chat_template .messages2prompt (prompt_messages ,
255+ sequence_start ,
256+ tools = tools ,
257+ enable_thinking = enable_thinking )
249258 return prompt , IMAGE_TOKEN
250259
251- def to_pytorch (self , messages , chat_template , tokenizer , sequence_start ):
252- prompt , IMAGE_TOKEN = self .proc_messages (messages , chat_template , sequence_start )
260+ def to_pytorch (self ,
261+ messages ,
262+ chat_template ,
263+ tokenizer ,
264+ sequence_start ,
265+ tools : Optional [List [object ]] = None ,
266+ enable_thinking : Optional [bool ] = None ,
267+ ** kwargs ):
268+ prompt , IMAGE_TOKEN = self .proc_messages (messages ,
269+ chat_template ,
270+ sequence_start ,
271+ tools = tools ,
272+ enable_thinking = enable_thinking )
253273 return self .to_pytorch_aux (messages , prompt , IMAGE_TOKEN , tokenizer , sequence_start )
254274
255- def to_turbomind (self , messages , chat_template , tokenizer , sequence_start ):
256- prompt , IMAGE_TOKEN = self .proc_messages (messages , chat_template , sequence_start )
275+ def to_turbomind (self ,
276+ messages ,
277+ chat_template ,
278+ tokenizer ,
279+ sequence_start ,
280+ tools : Optional [List [object ]] = None ,
281+ enable_thinking : Optional [bool ] = None ,
282+ ** kwargs ):
283+ prompt , IMAGE_TOKEN = self .proc_messages (messages ,
284+ chat_template ,
285+ sequence_start ,
286+ tools = tools ,
287+ enable_thinking = enable_thinking )
257288 return self .to_turbomind_aux (messages , prompt , IMAGE_TOKEN , tokenizer , sequence_start )
0 commit comments