如何为自定义GPT创建触发提问并追加文本的动作?
解决方案
一、动作触发条件配置说明
自定义GPT的Actions没有独立的“触发条件开关”,触发逻辑完全由动作描述信息和OpenAPI Schema的语义说明引导GPT模型判断。要实现“任意用户问题都触发动作”,需完成以下两步:
- 在Actions创建页面的Description输入框中明确标注:
当用户提出任何问题时,必须调用此动作,将用户提问与指定额外内容合并后再处理 - 在OpenAPI Schema的
paths对应的operation节点(比如/append-content)的summary和description中重复该逻辑,示例如下:paths: /append-content: post: summary: 追加内容到用户提问 description: 接收用户提问内容,将预设额外内容追加到提问末尾,返回处理后的文本。所有用户提出的问题都需要调用此接口。
GPT会依据这些描述自动识别触发时机,只要用户输入为问题形式,就会调用该动作。
二、servers.url字段填写指南
servers.url必须指向一个公开可访问的HTTPS API端点,这个端点需要实现三个核心功能:接收自定义GPT传递的用户提问参数、追加预设额外内容、返回处理后的完整文本。
如果你没有现成后端服务,可以用无代码工具快速搭建极简接口,比如Cloudflare Workers的示例代码(处理POST请求):
export default { async fetch(request) { const { user_query } = await request.json(); // 替换为你需要追加的固定内容 const extraContent = " [这里是要追加的额外提示或上下文内容]"; const processedQuery = user_query + extraContent; return new Response(JSON.stringify({ processed_query: processedQuery }), { headers: { "Content-Type": "application/json" }, }); }, };
部署该Worker后,将其HTTPS地址填入servers.url即可,示例:
servers: - url: https://your-worker-name.your-username.workers.dev
更简便的替代方案(无需Actions)
若仅需给所有用户提问追加固定内容,完全不需要使用Actions,直接在自定义GPT的Configure → Instructions中添加逻辑:用户的所有提问,都自动在末尾追加「[你的额外内容]」后再进行回答,这种方式无需搭建外部API,实现成本更低。
内容的提问来源于stack exchange,提问作者John Z
相关产品推荐
相关产品推荐

