From 1f0d89328dcbddfce23a0db6d773f9d66a7015a3 Mon Sep 17 00:00:00 2001 From: ybyang Date: Thu, 19 Sep 2024 14:54:28 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dfunction=20call?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E5=A6=82=E6=9E=9C=20function=5Fcall?= =?UTF-8?q?=20=E5=80=BC=E7=9A=84=E4=B8=BA=E4=B8=8D=E5=90=88=E6=B3=95json?= =?UTF-8?q?=EF=BC=8C=E5=BC=82=E5=B8=B8=E6=8F=90=E7=A4=BA=E4=B8=94=E4=B8=AD?= =?UTF-8?q?=E6=96=AD=E8=AE=AD=E7=BB=83=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 625a0cd7cb5725a0f76c8c19cd23d6c0275bd146 --- src/llamafactory/data/formatter.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index f8b3979a..15401fbb 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -113,7 +113,7 @@ class FunctionFormatter(Formatter): functions.append((tool_call["name"], json.dumps(tool_call["arguments"], ensure_ascii=False))) except json.JSONDecodeError: - functions = [] + raise RuntimeError("Not Valid functions Message {}".format(str([content]))) elements = [] for name, arguments in functions: @@ -141,7 +141,8 @@ class ToolFormatter(Formatter): tools = json.loads(content) return [self.tool_utils.tool_formatter(tools) if len(tools) != 0 else ""] except json.JSONDecodeError: - return [""] + raise RuntimeError("Not Valid functions Message {}".format(str([content]))) + @override def extract(self, content: str) -> Union[str, List["FunctionCall"]]: From 3385616a3719107564ef24d3e2df3a7493e0289f Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 19 Sep 2024 16:06:00 +0800 Subject: [PATCH 2/5] improve error message Former-commit-id: e7735dd487ae4e31c34dcd8e2ea9af0a39d1cf9e --- src/llamafactory/data/formatter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 15401fbb..6fe571b9 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -113,7 +113,7 @@ class FunctionFormatter(Formatter): functions.append((tool_call["name"], json.dumps(tool_call["arguments"], ensure_ascii=False))) except json.JSONDecodeError: - raise RuntimeError("Not Valid functions Message {}".format(str([content]))) + raise RuntimeError("Invalid JSON format in function message: {}".format(content) elements = [] for name, arguments in functions: @@ -141,7 +141,7 @@ class ToolFormatter(Formatter): tools = json.loads(content) return [self.tool_utils.tool_formatter(tools) if len(tools) != 0 else ""] except json.JSONDecodeError: - raise RuntimeError("Not Valid functions Message {}".format(str([content]))) + raise RuntimeError("Invalid JSON format in tool description: {}".format(content) @override From a01668bbe8c59a8251be2e05f397aa15d2c7461b Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 19 Sep 2024 16:21:21 +0800 Subject: [PATCH 3/5] fix bug Former-commit-id: b6d0ee1fd8b555bc6aac8b8686c9a3eea784c3a8 --- src/llamafactory/data/formatter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 6fe571b9..8a016685 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -113,7 +113,7 @@ class FunctionFormatter(Formatter): functions.append((tool_call["name"], json.dumps(tool_call["arguments"], ensure_ascii=False))) except json.JSONDecodeError: - raise RuntimeError("Invalid JSON format in function message: {}".format(content) + raise RuntimeError("Invalid JSON format in function message: {}".format(content)) elements = [] for name, arguments in functions: @@ -141,7 +141,7 @@ class ToolFormatter(Formatter): tools = json.loads(content) return [self.tool_utils.tool_formatter(tools) if len(tools) != 0 else ""] except json.JSONDecodeError: - raise RuntimeError("Invalid JSON format in tool description: {}".format(content) + raise RuntimeError("Invalid JSON format in tool description: {}".format(content)) @override From 8fdbaab95d38c62edbe418e2e76876c564f36251 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 19 Sep 2024 16:21:43 +0800 Subject: [PATCH 4/5] lint Former-commit-id: dd94fdd69c8f36df80d6d70d63ab7403a0e55d46 --- src/llamafactory/data/formatter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 8a016685..0e51acae 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -143,7 +143,6 @@ class ToolFormatter(Formatter): except json.JSONDecodeError: raise RuntimeError("Invalid JSON format in tool description: {}".format(content)) - @override def extract(self, content: str) -> Union[str, List["FunctionCall"]]: return self.tool_utils.tool_extractor(content) From 8bfb8569231f7a25080d48110c95d15776c5bc98 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 19 Sep 2024 16:43:42 +0800 Subject: [PATCH 5/5] flat string Former-commit-id: f1e7731075e6ded4a5ecac7ef46ca4a318b91597 --- src/llamafactory/data/formatter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 0e51acae..99a4a8b4 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -113,7 +113,7 @@ class FunctionFormatter(Formatter): functions.append((tool_call["name"], json.dumps(tool_call["arguments"], ensure_ascii=False))) except json.JSONDecodeError: - raise RuntimeError("Invalid JSON format in function message: {}".format(content)) + raise RuntimeError("Invalid JSON format in function message: {}".format(str([content]))) # flat string elements = [] for name, arguments in functions: @@ -141,7 +141,7 @@ class ToolFormatter(Formatter): tools = json.loads(content) return [self.tool_utils.tool_formatter(tools) if len(tools) != 0 else ""] except json.JSONDecodeError: - raise RuntimeError("Invalid JSON format in tool description: {}".format(content)) + raise RuntimeError("Invalid JSON format in tool description: {}".format(str([content]))) # flat string @override def extract(self, content: str) -> Union[str, List["FunctionCall"]]: