AI 调用
调用 OpenAI 兼容的 Chat / Completions 接口。非兼容接口请用 HTTP请求 自己处理。
当前模块定义
概述
动作里多半是一次性任务,不是连续聊天。常见写法:
- 系统提示词 说明角色和要求。
- 提示词 用插值拼出完整指令和待处理内容。
下面是中英互译:系统提示说明「有中文就译成英文,否则译成中文,只返回译文」;提示词后面再接 {text}(来自获取选中文本或用户输入)。
需要自备网络和服务商账号。数据会发到服务商(可能在境外),不要发送敏感、隐私或依法不得出境的信息,也不要用于违法用途。模型和端点的对应关系、token 上限以官方文档为准。
选择模型来源
模型来源有两种:
- 全局 AI 配置:复用设置中的服务连接、模型、凭据和候选顺序。选择 AI 任务场景 后,Quicker 会按该场景配置选择可用模型并在候选之间回退;适合新建动作,也避免在步骤里保存 API Key。
- 步骤内自定义 API:沿用旧动作的接口端点、模型、API 地址和 API Key 等字段;适合尚未迁入全局设置的兼容接口。
全局模式当前只接受文本类型的 提示词,按 Chat 方式调用。会话 ID、历史消息、top_p、返回条数、自定义响应格式和额外参数等步骤内兼容字段只用于自定义 API 模式。全局模式会额外输出 实际模型(服务商 / API 模型)和 调用标识,便于排查最终命中了哪个候选。
全局模式也支持流式输出。它会一边写入指定文本窗口或当前前台窗口,一边保留完整的 结果、结束原因和可用的 token 统计;下面“流式时拿不到原始响应和 token”的限制只适用于步骤内自定义 API 模式。
参数说明
模型来源:优先选择「全局 AI 配置」;需要完整控制旧接口参数时选择「步骤内自定义 API」。旧动作缺少该字段时继续按步骤内配置运行。
AI 任务场景:仅全局模式。对应设置中「用途与模型」的任务场景;Quicker 按该场景的候选顺序选择和回退。未配置自定义场景时可使用日常文本处理场景。
接口端点:Chat 或 Completions。
模型:模型 ID。是否适用于当前端点,看官方文档。
系统提示词:仅 Chat。角色和要求,例如「你是一个专业的翻译助手」。
提示词:仅 Chat / Completions。完整用户提示。1.42.21+ 支持纯文本,或兼容 gpt-4-vision 的 JSON 数组。不要填完整请求体。
最大响应Token数:大约 1 个汉字或 2/3 个英文单词。建议 0,太短会被截断。提示 token + 本项不能超过模型上限。
温度:0~1。越小越稳,越大越发散。默认 0.2。
APIKey:服务商密钥,注意保密。
Orgnization:可选,APIKey 对应的组织 ID。
top_p:见官方文档。仅 Chat / Completions。
n:生成几条结果,会加倍耗 token。模块只输出一条,其余要从原始响应里解析。
使用流式输出:边收边写到文本窗口。此时拿不到原始响应和 token 用量。
流式输出窗口标识:事先用非等待模式打开的文本窗口标识。填 INPUT_TEXT 则模拟输入到当前窗口(一切走焦点就停)。
停止符stop:遇到这些内容就停。官方说明。留空时用推荐默认 <|endoftext|>。接第三方接口时务必设置(或用 1.38.35+),建议 <|endoftext|>。可用 \r \n \t;多行表示多个停止符。
API网址:自定义或中转。
- Azure:
https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/{1}?api-version=2023-05-15。{1}不要改,是接口名占位符。 - 其它中转:
https://api网址/{1}。 - 1.44.32+ 也可直接写以
chat/completions结尾的完整网址。其它结尾可在前面加!强制使用,如!https://myserver/api/chat。 - 硅基流动:
https://api.siliconflow.cn/v1/{1} - Ollama 本机:
http://127.0.0.1:11434/v1/{1}
超时秒数:默认 120。
响应格式:仅 Chat。留空为文本,或 json_object。1.43.55+ 也可填完整 response_format JSON(如 json_schema)。输出 JSON 时提示词要配合,并避免超 token 被截断。
{
"type": "json_schema",
"json_schema": {
"name": "math_reasoning",
"schema": {
"type": "object",
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"explanation": { "type": "string" },
"output": { "type": "string" }
},
"required": ["explanation", "output"],
"additionalProperties": false
}
},
"final_answer": { "type": "string" }
},
"required": ["steps", "final_answer"],
"additionalProperties": false
},
"strict": true
}
}
附加参数:仅 Chat。给第三方接口加字段。可传词典、JSON 或匿名对象:$= new { 参数名 = "参数值" }。
强制使用代理:即使软件设置未开代理,本步骤也走代理。
会话ID / 历史消息:见下文。仅 Chat。
失败后停止:失败是否中止动作。默认开启。
输出
- 是否成功
- 生成结果
- 推理内容:推理模型的
reasoning_content。旧稿未单独列出。 - 原始响应内容
- 提示Token数 / 响应Token数 / 总Token数
- 结束原因
- 历史消息:仅 Chat。消息对象列表;赋给文本变量时会变成 JSON。
流式输出时,原始响应和 token 相关输出不可用。
流式响应
流式目前无法检测错误。两种用法:
写到文本窗口
先开一个非等待的文本窗口,设好标识(建议 =,等于动作 ID,避免多个动作抢同一个窗):
再在 AI 调用里打开流式,并填同一个窗口标识:
新内容会追加到窗口。1.43.61+ 若窗口开了 Markdown 高亮,<think> 推理过程会显示为灰色。
模拟输入到当前窗口
流式输出窗口标识 填 INPUT_TEXT。一切走焦点就停止输出。
历史会话
1.37.17+ 支持自动带上历史消息。
1)自己维护历史:把 JSON 数组传给 历史消息,不要填会话 ID,也不会回写历史。
2)交给 Quicker:数据在 Quicker数据文件夹\AiLogs。
- 会话ID:每次会话前用 生成Guid 生成,必须是 GUID 格式。
- 历史消息:回传条数。总 token 有上限,太长要丢掉更早的消息。
建议用会话 ID 当文本窗口标识,避免同一动作连跑多次抢窗。
示例动作
限制与排障
- 密钥、组织 ID 不要写进分享动作。
- 第三方中转必须带
{1}或按 1.44.32+ 规则写完整网址。 - 流式看不到错误和 token;调试先关掉流式。
- 会话 ID 必须是 GUID,否则自动存历史会失败。
相关链接
更新历史
- 20230714 修复 Azure 接口地址。
- 20240327 增加响应格式、附加参数;提示词支持 gpt-4-vision。
- 20241219 增加自定义响应格式说明。
- 20250307 1.43.61 输出
reasoning_content;Markdown 窗口灰色显示<think>。
更新于