fix: extra safety checks in the token counter for functions (#2061)

This commit is contained in:
Charles Packer
2024-11-22 12:13:10 -08:00
committed by GitHub
parent 202d6e25aa
commit 324346db5c

View File

@@ -95,9 +95,12 @@ def num_tokens_from_functions(functions: List[dict], model: str = "gpt-4"):
for function in functions:
function_tokens = len(encoding.encode(function["name"]))
if function["description"]:
function_tokens += len(encoding.encode(function["description"]))
if not isinstance(function["description"], str):
warnings.warn(f"Function {function['name']} has non-string description: {function['description']}")
else:
function_tokens += len(encoding.encode(function["description"]))
else:
raise ValueError(f"Function {function['name']} has no description, function: {function}")
warnings.warn(f"Function {function['name']} has no description, function: {function}")
if "parameters" in function:
parameters = function["parameters"]