OpenAI - AI 代理工具
@tiptap-pro/ai-toolkit-openai 包提供了可以添加到你基于 OpenAI 的 JavaScript SDK 构建的 AI 代理中的工具定义。
模型生成的工具调用随后可以在客户端使用 executeTool 方法 执行。
示例用法
安装该包。
npm install @tiptap-pro/ai-toolkit-openai将工具定义提供给你的 OpenAI 模型。
import OpenAI from 'openai'
import { toolDefinitions } from '@tiptap-pro/ai-toolkit-openai'
const openai = new OpenAI()
const response = await openai.responses.create({
model: 'gpt-5.4-mini',
input: [{ role: 'user', content: 'Help me edit this document' }],
tools: toolDefinitions(),
})将工具定义与你的自定义工具结合使用。
import OpenAI from 'openai'
import { toolDefinitions } from '@tiptap-pro/ai-toolkit-openai'
const openai = new OpenAI()
const customTools = [
{
type: 'function',
name: 'get_weather',
description: '获取某地的天气',
parameters: {
type: 'object',
properties: {
location: {
type: 'string',
description: '城市和州,例如 San Francisco, CA',
},
},
required: ['location'],
},
},
]
const response = await openai.responses.create({
model: 'gpt-5.4-mini',
input: [{ role: 'user', content: 'What is the weather like and help me edit this document' }],
tools: [...toolDefinitions(), ...customTools],
})API 参考
toolDefinitions
为 Tiptap AI 工具包创建兼容 OpenAI 的 responses API 的工具定义。
参数 (ToolDefinitionsOptions)
tools?:EnabledTools- 通过将值设置为true(启用)或false(禁用)来启用/禁用特定工具。tiptapRead?:boolean- 启用/禁用tiptapRead工具(默认:true)tiptapEdit?:boolean- 启用/禁用tiptapEdit工具(默认:true)tiptapReadSelection?:boolean- 启用/禁用tiptapReadSelection工具(默认:true)getThreads?:boolean- 启用/禁用getThreads工具(默认:false)editThreads?:boolean- 启用/禁用editThreads工具(默认:false)
返回值
包含已启用工具定义的数组,可用于 OpenAI 的 responses API。完整工具列表请参见 可用工具 页面。
completionsApiToolDefinitions
为 Tiptap AI 工具包创建兼容 OpenAI 的 completions API 的工具定义。
参数 (ToolDefinitionsOptions)
tools?:EnabledTools- 通过将值设置为true(启用)或false(禁用)来启用/禁用特定工具。tiptapRead?:boolean- 启用/禁用tiptapRead工具(默认:true)tiptapEdit?:boolean- 启用/禁用tiptapEdit工具(默认:true)tiptapReadSelection?:boolean- 启用/禁用tiptapReadSelection工具(默认:true)getThreads?:boolean- 启用/禁用getThreads工具(默认:false)editThreads?:boolean- 启用/禁用editThreads工具(默认:false)
返回值
包含已启用工具定义的数组,可用于 OpenAI 的 completions API。完整工具列表请参见 可用工具 页面。