fix: extra safety checks in the token counter for functions (#2061)
This commit is contained in:
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user