本文内容
Parallel Decisions API:决策模型如何利用网页证据?
供应商周一上线了新功能,到了周五,你的筛选流程仍把它标为“不支持”,因为模型没有收到更新。JSON 格式完全正确,判断依据却已经过时。
Parallel Decisions API 把网页检索和有限选项判断合并为一次请求。你提供上下文和应用允许的答案,它检索公开信息并返回结构化结果。应用还需核对证据是否适用于具体产品、方案和日期,再使用这些分类结果。
Parallel 于 2026 年 10 月 25 日发布该 API,Decisions API 发布说明介绍了这一流程。资料核查日期:。我们核对了官方文档和接口定义,并用离线测试数据验证配套代码。本文没有实测在线 API 的准确率或延迟。
决策模型的 RAG 是什么?
决策模型的 RAG,是先检索证据,再回答预先定义的问题。输出可以是类别、概率或有序评分。Parallel 在服务内部完成检索,应用可以直接请求判断结果。
官方 Decisions 快速入门定义了共享的 state、带名称的 questions 和结构化答案。检索与分类通过同一个 API 接口提供。
Jev 则根据传入的状态评估问题,具体见 TypeSafe 介绍文档。你也可以自行检索最新证据,再把证据放入状态。我们的 Jev 决策模型指南介绍了这一接口。Parallel 将检索步骤一起纳入了决策服务。
什么时候适合用 Parallel,什么时候应拆分检索?
当问题依赖公开信息、答案范围较小,现有检索控制也符合需求时,可以考虑 Parallel 的集成接口。如果需要指定资料库、执行访问权限或控制哪些段落进入模型,就保留独立的检索层。
| 方案 | 证据来源 | 适用任务 | 应用仍需负责 |
|---|---|---|---|
| 对传入状态运行决策模型 | 应用提供相关事实 | 对工单或已有记录分类 | 保持输入状态完整、及时 |
| 独立检索加决策模型 | 自行配置检索器,再调用选定的模型 | 私有文档、来源限制或详细溯源 | 检索质量、权限检查、模型集成和评估 |
| Parallel Decisions API | 服务内部检索公开网页 | 核查供应商功能、企业分类、验证时效性事实 | 问题设计、证据复核和后续操作规则 |
使用企业私有资料时,应先执行访问权限,再向模型提供证据。我们的 SharePoint、Confluence 和 Drive 权限感知 RAG 指南说明了这种架构。
Parallel Decisions API 返回哪些结果?
Parallel 为每个命名问题返回带类型的答案,并为整次请求提供共享引用列表。条件判断类型叫 noul;类别选择从声明的选项中取值;评分按有序标准计算。任何问题也都可能返回拒绝回答。读取答案值之前,先检查它的类型。
| 类型 | 如何定义问题 | 返回字段 | 如何理解 |
|---|---|---|---|
noul | 在 instructions 中描述条件 | noul,范围为 0 到 1 | 该条件为真的估计概率 |
choice | 用 criteria 对象定义命名选项 | choice 和 probabilities | 所选类别及各选项的概率分布 |
score | 用有序的 criteria 数组定义等级 | score、legend 和 probabilities | 从 0 开始编号的等级索引按概率加权后的平均值 |
refusal | 任何问题都可能出现 | 没有答案值或概率 | 需要单独处理的拒绝回答状态 |
问题类型文档建议:证据可能不足时,明确加入 unknown 选项。这与下游服务过滤等原因导致的拒绝回答不同。不能因为没找到文档,就把功能标为“不支持”。
公开 OpenAPI 定义中,choice 和 score 答案的 confidence 可以缺失,也可以为 null;noul 没有单独的置信度字段。应分别保存所选项的概率和实际返回的置信度。顶层 citations 数组可能为空,也没有逐题对应的来源映射。
Parallel 和 OpenAI 都有名为 Decisions API 的产品。复制示例前,先核对主机地址与请求格式。我们的 OpenAI Decisions API 任务路由指南介绍了另一套接口;下方示例调用的是 api.parallel.ai。
核查供应商时,怎样避免混淆不同产品?
每个功能问题都要写清产品、方案和日期。供应商的一则公告可能只适用于某个 API。可以在同一份供应商上下文中分别询问各产品,并为缺失、模糊或冲突的证据设置 unknown 选项。
假设买方想确认:企业协议下,Parallel 的哪些 API 有文档说明支持欧盟境内处理?示例分别询问 basic 模式的 Search 和 Decisions,核查同一协议条件下的两项产品能力。
将以下 JSON 发往 POST https://api.parallel.ai/v1/decisions,设置 Content-Type: application/json,并通过 x-api-key 请求头传入保存在服务端的密钥:
{
"mode": "fast",
"state": {
"company": "Parallel",
"website": "https://parallel.ai",
"agreement": "Enterprise agreement",
"as_of": "2026-11-03"
},
"questions": {
"search_eu": {
"type": "choice",
"instructions": "Does Parallel document EU processing for Search API in basic mode (POST /v1/search) under an enterprise agreement, as of state.as_of? Evaluate this endpoint only; do not transfer a claim about another product.",
"criteria": {
"documented_yes": "Official documentation explicitly supports this endpoint, mode and agreement.",
"documented_no": "Official documentation explicitly excludes this endpoint or requires processing outside the EU.",
"unknown": "Evidence is missing, conflicting, ambiguous, outdated or applies to a different endpoint."
}
},
"decisions_eu": {
"type": "choice",
"instructions": "Does Parallel document EU processing for Decisions API (POST /v1/decisions) under an enterprise agreement, as of state.as_of? Evaluate this endpoint only; do not transfer a claim about another product.",
"criteria": {
"documented_yes": "Official documentation explicitly supports this endpoint, mode and agreement.",
"documented_no": "Official documentation explicitly excludes this endpoint or requires processing outside the EU.",
"unknown": "Evidence is missing, conflicting, ambiguous, outdated or applies to a different endpoint."
}
}
},
"advanced_settings": {
"include_excerpts": true
}
}Decisions 最佳实践建议让相关问题共享证据。提示词中的“使用官方文档”只能引导模型,无法强制执行来源白名单。as_of 也只是任务上下文;历史快照和抓取时间控制需要另外实现。
下载 Node.js 供应商核查示例,使用 Node.js 22 或更高版本运行。模块包含请求构建、超时处理和响应复核逻辑。上方 JSON 使用模块默认的日期:2026 年 11 月 3 日;下方调用代码显式改用当天的 UTC 日期。将模块与包含以下内容的 run-example.mjs 放在同一目录:
import {
buildRequest, requestDecision, reviewAnswer
} from "./parallel-decisions-vendor-screen.mjs";
const request = buildRequest(new Date().toISOString().slice(0, 10));
const response = await requestDecision(request, {
apiKey: process.env.PARALLEL_API_KEY
});
for (const name of Object.keys(request.questions)) {
console.log(name, reviewAnswer(response, name));
}先在环境变量中设置密钥,再运行 node run-example.mjs。这段调用代码会按公布费率发起一次 API 请求;仅导入模块不会发起请求。离线测试用人工构造的响应检查应用行为,不能说明检索质量。
应用应该怎样使用共享引用?
把 Parallel 的引用列表视为整次请求的待复核证据。接受某项功能结论前,先检查具体段落是否对应相同的端点、协议、地区和日期,再将该段落关联到业务记录中的单项判断。共享列表里的一个来源可能只支持其中一道题。
| 收到的结果 | 含义 | 下一步 |
|---|---|---|
| 有文档支持“是”或“否”,概率分布有效,引用摘录可读 | 分类结果完整,附有候选证据 | 检查某段证据是否支持这项具体判断 |
unknown | 按预设证据类别仍无法确定 | 补充证据或向供应商核实 |
refusal | 服务拒绝回答该问题 | 记录拒绝状态并转交复核 |
| 缺少答案、概率分布错误或传输失败 | 集成没有取得可用答案 | 保持记录未确定,排查问题或按有限重试规则处理 |
| 引用为空或没有可用摘录 | 示例缺少可以检查的证据 | 接受判断前,先通过独立流程补齐证据 |
辅助函数要求来源 URL 使用 HTTPS、不含用户名或密码,并至少有一段非空摘录。这是我们为示例设置的本地复核规则。通过检查后,结果进入 evidence_review 队列,仍需确认来源是否支持判断。后续若要自动处理,应根据有标签的实际业务样本确定阈值。
保留原始概率分布、实际返回的置信度、decision_id、请求版本和收到响应的时间。有来源发布日期或抓取时间时,另行记录。Search 的数据驻留页面可能出现在两项分类的共享引用中,却只支持其中一项;逐字段溯源需要独立验证。
一次提交多道题,费用怎么算?
Parallel 公布的 Decisions 费率为每 1,000 次请求 1 美元,每次最多包含 100 道题。将同一供应商的相关核查合并,可以减少请求费用。预算仍应以使用时的最新费率为准。
截至 2026 年 11 月 3 日,官方价格页列出上述费率。假设核查 10,000 家供应商,每家有三个相关问题:每家合并成一次请求,公布费率下的请求费用为 10,000 × 0.001 美元 = 10 美元;每家分别发起三次,则为 30,000 × 0.001 美元 = 30 美元。
这只是请求费用计算,未计入重试、基础设施、额外检索和人工复核。除了 API 支出,还应统计每条最终通过证据复核的记录需要多少成本。
把同一实体的相关问题放在一起。证据难以对应具体问题,或后一道题必须依赖前一道题的结果才能定义时,就拆开请求。
能强制获取最新网页,或要求欧盟境内处理吗?
本次核查的 Decisions 接口文档没有确立强制刷新来源或欧盟境内处理的支持。其高级设置提供搜索地区和是否返回摘录的选项,但没有说明该端点支持强制来源白名单、发布日期过滤或抓取策略。
Parallel 的来源策略文档为其他 API 说明了域名和时效性控制。如果这些是验收条件,应先通过支持相应控制的 API 检索,再把证据交给独立的决策步骤。
欧盟数据驻留文档涵盖企业协议下 basic 模式的 Search 和 Extract。Decisions 需要单独确认。advanced_settings.location 指定搜索面向的地区,处理数据所在的地区是另一项要求。
带日期的核查应记录来源内容及适用时间。历史判断需要保留的证据或合适的网页存档。测试中加入客户私有文档之前,先确认服务商和数据流符合项目要求。
这些基准测试能说明什么?
Parallel 的基准比较了获取网页证据能力不同的完整 API 配置。结果可以帮助你选择需要在自身业务中测试的对照方案,但无法单独衡量底层分类模型的准确率。
PWS-Decisions 的公开测试方法说明,共有 300 道题,其中 100 道公开、200 道不公开。参与对比的其他原生决策端点收到相同的状态和问题,但没有另行提供检索出的网页上下文。阅读结论时,需要保留这一配置差异。
Parallel 于 2026 年 10 月 29 日对 300 道题进行了三轮测试,公布结果中,其端点准确率为 76.22%,另一套带原生网页搜索的 Luna 配置为 97.33%。后者公布的成本和延迟也更高。这些是供应商针对该测试集给出的测量结果。选择方案时,应比较完整工作流。
上线前,我们会怎样评估?
我们会先验证每项分类是否得到正确证据支持,再允许它修改业务记录。从一种判断任务和带日期的参考样本开始,覆盖明确支持、明确不支持和无法确定的情况。先与原有流程并行运行,弄清错误出现在哪里。
| 测试场景 | 需要发现的问题 |
|---|---|
| 某项功能最近上线或下线 | 分类是否符合适用来源和日期 |
| 同一家公司的不同方案或端点 | 是否把宽泛公告错误套用到另一个产品 |
| 文档缺失或相互冲突 | 流程能否保留不确定状态,避免编造否定结论 |
| 看似可信的引用实际上描述了另一实体 | 证据复核能否发现答案看似正确、依据却不匹配的情况 |
| 实际业务会遇到的各语言来源 | 产品名称和限制条件翻译后,是否仍保持相同判断含义 |
分别标注预期答案和支持它的段落。统计被接受的记录中有多少判断正确且证据充分、有多少需要人工复核,以及哪些错误通过了复核。测量端到端延迟和完成一条记录的总成本,包括后续补充工作。
我们的起步建议是:先做范围明确的供应商筛选或资料补全试点,设置清晰的证据复核步骤。先确定要判断什么,以及判断错误的代价。如果需要把这套流程接入产品,可了解我们的 AI 产品与智能体开发服务。
Parallel Decisions API 常见问题
可以通过 MCP 使用 Parallel Decisions 吗?
本次核查的快速入门文档列出了 Parallel MCP 服务中的 web_decisions 工具,地址为 https://mcp.parallel.ai/mcp。文档说明,无需账户或 API 密钥即可免费使用,登录或认证后可获得更高限额。这是 MCP 客户端的接入方式;本文直接发送 HTTP 请求的示例仍需使用自己的密钥,并适用公布的请求费率。
能直接把 noul 概率当作布尔值吗?
noul 是 0 到 1 之间的数。在 JavaScript 中,即使很小的非零数也是真值,直接放进 if 条件会产生错误的业务判断。应明确设计并验证决策规则。核查文档时,如果“缺少证据”需要单独处理,包含 unknown 的 choice 通常更容易准确表达任务。
同一次请求中,后一道题能依赖前一道题的答案吗?
只有能直接根据共享状态定义的问题,才适合合并。如果 B 必须先取得 A 的返回值,我们建议等 A 完成并通过验证后,再构造下一次请求中的 B。不要把 questions 对象当作顺序执行的程序,也不要假定键的排列顺序会建立题目之间的依赖关系。
Parallel Decisions 能自动更新 CRM 吗?
决策响应为应用提供数据,CRM 更新仍需由独立集成完成授权和写入。本例的 evidence_review 表示等待核对证据,不能据此直接写入“供应商已获批准”。如果后续允许更新,应将操作与已经复核的具体判断,以及原本打算修改的记录版本关联起来。
score 一定对应某个完整评分等级吗?
不一定。score 是从 0 开始编号的等级索引按概率加权后的平均值,可以落在两个等级之间。例如,等级 0 和 1 的概率分别为 0.25 和 0.75,结果就是 0.75。应用应按自己的评分标准解释这个值;需要一个离散类别时,使用 choice 更合适。
德语、西班牙语和中文来源需要分别测试吗?
我们建议测试工作流实际会遇到的每一种语言。同一产品可能使用不同方案名称,也可能先在某一种语言的文档中公布变化。参考答案应关联到带日期的证据,并检查容易在翻译中丢失的限制条件。英语测试集表现良好,不能直接证明其他语言具有相同的证据质量。
