diff --git a/assets/wechat.jpg b/assets/wechat.jpg index f1e0b0b0..c4b7a7a8 100644 Binary files a/assets/wechat.jpg and b/assets/wechat.jpg differ diff --git a/assets/wechat_npu.jpg b/assets/wechat_npu.jpg index 1d9e4adf..aba34ada 100644 Binary files a/assets/wechat_npu.jpg and b/assets/wechat_npu.jpg differ diff --git a/src/llamafactory/data/converter.py b/src/llamafactory/data/converter.py index 4981466a..ac3735e6 100644 --- a/src/llamafactory/data/converter.py +++ b/src/llamafactory/data/converter.py @@ -257,8 +257,8 @@ class OpenAIDatasetConverter(DatasetConverter): content = message[self.dataset_attr.content_tag] if role in [self.dataset_attr.assistant_tag, self.dataset_attr.function_tag]: - if "tool_calls" in message and len(message['tool_calls']) > 0: - tool_calls_list = [tool['function'] for tool in message['tool_calls']] + if "tool_calls" in message and len(message["tool_calls"]) > 0: + tool_calls_list = [tool["function"] for tool in message["tool_calls"]] content = json.dumps(tool_calls_list, ensure_ascii=False) role = self.dataset_attr.function_tag @@ -340,7 +340,7 @@ class OpenAIDatasetConverter(DatasetConverter): if isinstance(tools, dict) or isinstance(tools, list): tools = json.dumps(tools, ensure_ascii=False) - short_system_prompt = 'detailed thinking off' + short_system_prompt = "detailed thinking off" if not system: if not tools: system = short_system_prompt @@ -348,13 +348,12 @@ class OpenAIDatasetConverter(DatasetConverter): pass else: if not tools: - if 'detailed thinking on' in system or 'detailed thinking off' in system: + if "detailed thinking on" in system or "detailed thinking off" in system: pass else: - system += '\n' + short_system_prompt + system += "\n" + short_system_prompt else: - system += '\n' - + system += "\n" output = { "_prompt": prompt, diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index b57d00a5..eababd7b 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -685,7 +685,9 @@ register_template( format_system=StringFormatter(slots=["SYSTEM{{content}}<|role_end|>"]), format_assistant=StringFormatter(slots=["{{content}}<|role_end|>"]), format_observation=StringFormatter( - slots=["OBSERVATION\n\n{{content}}\n<|role_end|>ASSISTANT"] + slots=[ + "OBSERVATION\n\n{{content}}\n<|role_end|>ASSISTANT" + ] ), format_function=FunctionFormatter(slots=["{{content}}<|role_end|>"], tool_format="ling"), format_tools=ToolFormatter(tool_format="ling"), diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index 66d74865..ba0d1d46 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -219,7 +219,7 @@ def patch_valuehead_model(model: "AutoModelForCausalLMWithValueHead") -> None: if base_model and hasattr(base_model, "get_rope_index"): return base_model.get_rope_index - elif (base_model and hasattr(base_model, "model") and hasattr(base_model.model, "get_rope_index")): + elif base_model and hasattr(base_model, "model") and hasattr(base_model.model, "get_rope_index"): return base_model.model.get_rope_index else: return None