From ba83cf0ba1d8b2aeebbd8eb89c073d66e2500ac4 Mon Sep 17 00:00:00 2001 From: Huanzhi Mao Date: Wed, 4 Sep 2024 14:31:46 -0700 Subject: [PATCH 1/3] remove duplicate ArcticHandler --- .../bfcl/model_handler/arctic_handler.py | 42 ------------------- .../bfcl/model_handler/handler_map.py | 3 +- 2 files changed, 1 insertion(+), 44 deletions(-) delete mode 100644 berkeley-function-call-leaderboard/bfcl/model_handler/arctic_handler.py diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/arctic_handler.py b/berkeley-function-call-leaderboard/bfcl/model_handler/arctic_handler.py deleted file mode 100644 index 1b5665df2..000000000 --- a/berkeley-function-call-leaderboard/bfcl/model_handler/arctic_handler.py +++ /dev/null @@ -1,42 +0,0 @@ -from bfcl.model_handler.nvidia_handler import NvidiaHandler -from bfcl.model_handler.utils import ast_parse - -class ArcticHandler(NvidiaHandler): - def __init__(self, model_name, temperature=0.001, top_p=1, max_tokens=1000) -> None: - super().__init__(model_name, temperature, top_p, max_tokens) - - def decode_ast(self, result, language="Python"): - result = result.replace("\n", "") - if not result.startswith("["): - result = "[ " + result - if not result.endswith("]"): - result = result + " ]" - if result.startswith("['"): - result = result.replace("['", "[") - result = result.replace("', '", ", ") - result = result.replace("','", ", ") - if result.endswith("']"): - result = result.replace("']", "]") - decode_output = ast_parse(result, language) - return decode_output - - def decode_execute(self, result, language="Python"): - result = result.replace("\n", "") - if not result.startswith("["): - result = "[ " + result - if not result.endswith("]"): - result = result + " ]" - if result.startswith("['"): - result = result.replace("['", "[") - result = result.replace("', '", ", ") - result = result.replace("','", ", ") - if result.endswith("']"): - result = result.replace("']", "]") - decode_output = ast_parse(result, language) - execution_list = [] - for function_call in decode_output: - for key, value in function_call.items(): - execution_list.append( - f"{key}({','.join([f'{k}={repr(v)}' for k, v in value.items()])})" - ) - return execution_list \ No newline at end of file diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/handler_map.py b/berkeley-function-call-leaderboard/bfcl/model_handler/handler_map.py index 48668107e..0e9054740 100644 --- a/berkeley-function-call-leaderboard/bfcl/model_handler/handler_map.py +++ b/berkeley-function-call-leaderboard/bfcl/model_handler/handler_map.py @@ -1,4 +1,3 @@ -from bfcl.model_handler.arctic_handler import ArcticHandler from bfcl.model_handler.claude_handler import ClaudeHandler from bfcl.model_handler.cohere_handler import CohereHandler from bfcl.model_handler.databricks_handler import DatabricksHandler @@ -90,7 +89,7 @@ "command-r-plus": CohereHandler, "command-r-plus-FC-optimized": CohereHandler, "command-r-plus-optimized": CohereHandler, - "snowflake/arctic": ArcticHandler, + "snowflake/arctic": NvidiaHandler, "ibm-granite/granite-20b-functioncalling": GraniteHandler, "nvidia/nemotron-4-340b-instruct": NvidiaHandler, "THUDM/glm-4-9b-chat": GLMHandler, From f2f2a5fb9fbcde45424532ee79739bd4db89ecf9 Mon Sep 17 00:00:00 2001 From: Huanzhi Mao Date: Wed, 4 Sep 2024 14:32:03 -0700 Subject: [PATCH 2/3] fix decodign issue in NvidiaHandler --- berkeley-function-call-leaderboard/README.md | 1 + .../bfcl/model_handler/nvidia_handler.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/berkeley-function-call-leaderboard/README.md b/berkeley-function-call-leaderboard/README.md index 0437392b9..5d5c29b72 100644 --- a/berkeley-function-call-leaderboard/README.md +++ b/berkeley-function-call-leaderboard/README.md @@ -251,6 +251,7 @@ Some companies have proposed some optimization strategies in their models' handl ## Changelog +* [Sept 4, 2024] [](): Fix decoding issue in the `NvidiaHandler`; remove duplicate `ArcticHandler` class. * [August 27, 2024] [#608](https://github.com/ShishirPatil/gorilla/pull/608): Bug fix in the dataset and possible answers. * simple: 16 affected * multiple: 5 affected diff --git a/berkeley-function-call-leaderboard/bfcl/model_handler/nvidia_handler.py b/berkeley-function-call-leaderboard/bfcl/model_handler/nvidia_handler.py index 9d22ccc2f..faacf86ff 100644 --- a/berkeley-function-call-leaderboard/bfcl/model_handler/nvidia_handler.py +++ b/berkeley-function-call-leaderboard/bfcl/model_handler/nvidia_handler.py @@ -67,9 +67,9 @@ def decode_ast(self, result, language="Python"): def decode_execute(self, result, language="Python"): result = result.replace("\n", "") if not result.startswith("["): - result = "[ " + result + result = "[" + result if not result.endswith("]"): - result = result + " ]" + result = result + "]" if result.startswith("['"): result = result.replace("['", "[") result = result.replace("', '", ", ") From c0609c3b9823fa59845b0218f8154958bd0482d0 Mon Sep 17 00:00:00 2001 From: Huanzhi Mao Date: Wed, 4 Sep 2024 14:46:14 -0700 Subject: [PATCH 3/3] update change log --- berkeley-function-call-leaderboard/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/berkeley-function-call-leaderboard/README.md b/berkeley-function-call-leaderboard/README.md index 5d5c29b72..661c4cbcc 100644 --- a/berkeley-function-call-leaderboard/README.md +++ b/berkeley-function-call-leaderboard/README.md @@ -251,7 +251,7 @@ Some companies have proposed some optimization strategies in their models' handl ## Changelog -* [Sept 4, 2024] [](): Fix decoding issue in the `NvidiaHandler`; remove duplicate `ArcticHandler` class. +* [Sept 4, 2024] [#623](https://github.com/ShishirPatil/gorilla/pull/623): Fix decoding issue in the `NvidiaHandler`; remove duplicate `ArcticHandler` class. * [August 27, 2024] [#608](https://github.com/ShishirPatil/gorilla/pull/608): Bug fix in the dataset and possible answers. * simple: 16 affected * multiple: 5 affected