注册一个工具。 参数: spec: 工具说明书 handler: 工具的执行函数 返回: self(返回自身是为了支持链式调用,后面演示)
(self, spec: ToolSpec, handler: Callable[[dict], str])
| 268 | self._specs: dict[str, ToolSpec] = {} |
| 269 | |
| 270 | def register(self, spec: ToolSpec, handler: Callable[[dict], str]) -> "ToolExecutor": |
| 271 | """ |
| 272 | 注册一个工具。 |
| 273 | |
| 274 | 参数: |
| 275 | spec: 工具说明书 |
| 276 | handler: 工具的执行函数 |
| 277 | 返回: |
| 278 | self(返回自身是为了支持链式调用,后面演示) |
| 279 | """ |
| 280 | self._handlers[spec.name] = handler |
| 281 | self._specs[spec.name] = spec |
| 282 | return self # 返回自身,这样可以连续调用 .register().register() |
| 283 | |
| 284 | def execute(self, tool_name: str, input_json: str) -> tuple[str, bool]: |
| 285 | """ |