首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >Vercel AI SDK >Vercel AI SDK 的 Tool Calling 功能如何使用?

Vercel AI SDK 的 Tool Calling 功能如何使用?

词条归属:Vercel AI SDK

1. 定义工具

代码语言:javascript
复制
import { generateText, tool } from 'ai';
import { z } from 'zod';

const result = await generateText({
  model: 'openai/gpt-5.5',
  tools: {
    getWeather: tool({
      description: '获取指定城市的当前天气',
      parameters: z.object({
        city: z.string().describe('城市名称,如"北京"'),
      }),
      execute: async ({ city }) => {
        // 调用天气 API
        return { city, temperature: 25, condition: '晴' };
      },
    }),
  },
  prompt: '北京今天天气怎么样?',
});

console.log(result.toolResults); // 包含工具调用结果

2. 工具执行流程

  • 模型分析用户输入,决定是否调用工具
  • 若需调用,模型生成工具名称和参数
  • SDK 执行工具函数,将结果回传给模型
  • 模型基于工具结果生成最终回复

3. 工具上下文(v7 新增)

  • 通过 contextSchema 为工具定义专属上下文结构
  • 通过 toolsContext 传入每个工具所需的配置(如 API Key)
  • 上下文作用域限定在单个工具内,防止第三方工具越权访问

4. 工具审批机制

  • 支持配置工具执行前的审批策略
  • 可选模式:自动批准、自动拒绝、用户确认、自定义函数
  • v7 版本支持 HMAC 签名审批,防止参数篡改
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券