4.4 内置工具实现

工具执行器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
export class ToolExecutor {
private tools = new Map<string, Tool>();

register(tool: Tool): void {
this.tools.set(tool.name, tool);
}

async execute(name: string, params: any): Promise<any> {
const tool = this.tools.get(name);
if (!tool) {
throw new Error(`Tool not found: ${name}`);
}
return await tool.execute(params);
}

getTools(): Tool[] {
return Array.from(this.tools.values());
}
}

使用示例

1
2
3
4
5
6
const executor = new ToolExecutor();
executor.register(readTool);
executor.register(writeTool);
executor.register(execTool);

const result = await executor.execute('read', { path: './data.txt' });

Step 2 总结

  • ✅ Function Calling 支持
  • ✅ 三个内置工具
  • ✅ 工具执行循环
  • ✅ 工具注册机制

下一章: 第五章:流式输出

导航

上一篇: 4.3 工具执行循环

下一篇: 5.1 流式输出的优势