arguments descriptions added to tool description

so now the agent knows how to use the tools params
This commit is contained in:
Jakub Strnad
2024-07-05 16:30:41 +02:00
committed by GitHub
parent cf67b424c2
commit a5d2839431

View File

@@ -86,13 +86,16 @@ class BaseTool(BaseModel, ABC):
)
def _generate_description(self):
args = []
for arg, attribute in self.args_schema.schema()["properties"].items():
if "type" in attribute:
args.append(f"{arg}: '{attribute['type']}'")
args = []
args_description = []
for arg, attribute in self.args_schema.schema()["properties"].items():
if "type" in attribute:
args.append(f"{arg}: '{attribute['type']}'")
if "description" in attribute:
args_description.append(f"{arg}: '{attribute['description']}'")
description = self.description.replace("\n", " ")
self.description = f"{self.name}({', '.join(args)}) - {description}"
description = self.description.replace("\n", " ")
self.description = f"{self.name}({', '.join(args)}) - {description} {', '.join(args_description)}"
class Tool(BaseTool):