跳到主要内容
版本:最新版(main)

System One 配置参考

这些字段决定由哪个部署回答问题、规则如何提问,以及评审和算法如何使用答案。各指南说明何时使用它们;本页把它们列出来。

部署从何而来​

字段含义
global.model_catalog.system.decision_model{deployment: <name>}:回答所有未被其他设置绑定的问题。默认 {deployment: primary}
global.model_catalog.bindings.<type>某个应用信号类型规则的部署
recipes[].model_bindings.<type>同上,只针对一个配方
global.model_catalog.deployments.<name>一个部署:provider: model_runtime(本地或挂接)或 provider: systemone(远程 API)
global.model_catalog.signal_timeout_ms一个请求所有信号的截止时间
global.model_catalog.on_signal_overload{action, wait_ms, retry_after_seconds}:action: retry 时,过载的决策模型拒绝的每个调用都会在最长 wait_ms 内重新询问。如果仍无法读取的规则会拒绝该请求,请求就收到客户端会重试的错误。见决策模型过载时

systemone 部署接受 endpoint、model、auth(api_key_env 或 api_key_file,或 credential: delegated;header、prefix)、headers、timeout_ms、max_retries、tls 和 capabilities(question_types、presets、modalities)。

信号​

recipes[].signals.systemone 下的 systemone 规则:

字段含义
name规则名称,供条件和投影使用
questiontype、instructions,以及 choices、levels 或 labels;set 和 span 还有 threshold 和 head
labels让规则匹配的选项或标签
ignore_labelsset 和 span:永不计入的标签
predicate答案必须满足的界限:gt、gte、lt、lte
deployment回答问题的部署
stagerequest(默认)或 response
inputhistory、previous_turns(0 到 32)、tool_results、request(false 时不读取当前用户轮次)、answer、context、image、audio、video
coveragetruncate(默认)或 full
on_unscanned使用 coverage: full 时:match、no_match、unknown(默认)或 best_effort;jailbreak 和 pii 规则默认为 best_effort
timeout_ms最长 60,000

应用规则接受 name、description、deployment、timeout_ms,以及其类型允许的字段:

类型其他字段
domainslabels(默认 [name])、predicate
fact_check、user_feedbackslabels、predicate
jailbreakpredicate、stage、input.history、on_unknown
safetylabels(危害类别)、predicate、stage
piipredicate、ignore_labels、input.history、input.tool_results、input.request、on_unknown
hallucination、refusalpredicate
turn_relationlabels、input.previous_turns(默认 4)
complexitylabels
modalitylabels、predicate

其他字段在加载时会被拒绝。

match 块​

The two stages of a match block
match:
recall: {method: embedding, top_k: 20, min_similarity: 0.3} # optional; method: embedding | bm25
judge: {preset: relevance, top_k: 6, min_score: 0.5, max_candidates: 64} # optional

每个功能在它查找相似项的地方写这个块:response_cache.semantic.match、context.sources[].match、context.compress.match 和 tools.select.match。

字段含义
recall.methodembedding(默认;使用存储的嵌入部署)或 bm25(词法索引)
recall.top_k、recall.min_similarity召回返回的候选数(候选来自索引时必填),以及最低相似度:embedding 为余弦值,bm25 为 BM25 分数
judge.presetrelevance、same_request 或 tool_rank
judge.question代替预设的自定义问题:choice(候选即其选项)、noul 或 score
judge.deployment回答问题的部署;不写时为决策模型
judge.top_k、judge.min_score、judge.min_ratio保留哪些被评判的候选:最好的 top_k 个、至少 min_score 的、至少达到最佳者 min_ratio 的
judge.max_candidates评审最多读取的候选数:choice 评审为 255(也是上限),逐个候选的评审默认 64、最多 4096;小于 1 或超过上限会导致加载失败
judge.on_errorskip(默认;保留召回结果,没有召回时保留原样的候选)或 fail(该功能的匹配失败)
judge.timeout_ms评审调用的截止时间;未设置时使用部署的 timeout_ms,再没有则为 1000 ms

块中至少要有一个阶段(否则为 match_empty)。

算法​

字段含义
algorithm.systemone选择器:instructions、candidates(模型到描述的映射)、deployment、timeout_ms
algorithm.escalate.accept.systemone{gte, deployment, timeout_ms}:接受 answer_check 概率至少为 gte 的答案
algorithm.escalate.accept.refusalfalse:接受 refusal 问题未标记为拒答的答案
algorithm.escalate.stagesSystem One 入口:依次提问的决策模型,每个都有原生接受规则

加载时代码​

代码类别含义
span_required错误需要 span 的规则或插件解析到不支持 span 的部署
input_modality_unsupported错误规则读取其部署无法读取的媒体
match_empty错误match 块既没有 recall 也没有 judge
uncalibrated_preset警告某个预设使用中性阈值 0.5 回答
renamed_signal_type警告signals.decision 或 type: decision 条件,按 systemone 加载
renamed_algorithm_type警告algorithm.type: decision,按 systemone 加载
removed_signal_type、removed_field 等错误已移除的形式;见迁移指南