api-chat-fields-zh.md 26 KB

/api/chat 字段与取值中文对照

适用日期:2026-09-14。配合 接口文档与完整样例 阅读。本页按实际返回层级解释英文key和固定value,不改变接口协议。

key是字段名,value是字段值。 例如 "eligibility":"not_evaluated" 表示“资格评估:未评估”;"priority":{"rank":1} 表示“展示优先级:第1位”,不是通过率。

阅读约定:[]表示数组中的每一项;下面的路径是定位字段用的写法,不是额外的接口参数。true表示是,false表示否,null表示未提供/未知,不能都当成“否”;[]表示空列表,{}表示空对象。ID、原文路径、哈希值和错误码用于程序关联,不适合作为页面正文。

例如收到progress事件时,里面的JSON可以这样读。以下是带中文注释的阅读示例(JSONC),实际接口JSON不含注释:

{
  "thread_id": "window-001", // 这个结果属于哪个会话窗口
  "request_id": "a78b17a3b38241fa83c8ee91f40ec608", // 当前这一轮请求的标识
  "data": { // 当前事件的具体内容
    "stage": "retrieve", // 处理阶段:政策与服务检索
    "status": "running", // 阶段状态:正在处理
    "message": "正在检索相关政策和配套服务……" // 前端直接展示这段中文
  }
}

1. 最常用字段:页面上显示什么

英文key / 路径 中文名称 前端展示建议
progress.data.message 当前处理提示 显示“正在检索相关政策……”
heartbeat.data.elapsed_seconds 已等待秒数 显示“已等待20秒”
answer.data.text 回答文本 普通聊天的完整回复;推荐场景的开场概述
item.data.card.name.text 政策/产品/服务完整名称 卡片标题
item.data.card.department.text 所属部门或提供机构 卡片“所属部门”
item.data.card.support_objects.text 支持对象 卡片“支持对象”
item.data.card.support_methods_standards.text 支持方式和标准 卡片“支持内容”
item.data.card.application_conditions.text 申报条件 卡片“申报条件”
item.data.match_reason 与当前问题的匹配原因 卡片“匹配原因”
summary.data.text 综合说明 所有卡片后的结论与下一步
interrupt.data.question 需要用户回答的问题 公司补问/候选确认提示
result.data.errors 本轮图流程错误列表 非空时提示本轮存在异常,不把错误码直接当回复

左侧的progress/item等是SSE事件名,不在JSON对象中。事件data内的JSON统一还有thread_id、request_id、data三项。卡片字段可能为null,先判断对象存在再取.text;可显示“原文未明确”或隐藏该栏。

2. 请求、事件与统一封装

key 中文名称 value含义
thread_id 会话窗口ID 例如window-001,同一窗口复用;不是用户ID或权限凭证
question 用户本轮输入 普通问题,或针对补问的回复字符串
request_id 本次请求ID 每次POST生成一个新ID,用于区分同一窗口的不同轮次
data 本事件的数据内容 具体结构取决于event;不是所有data都具有相同字段
event(SSE行) 事件类型 下表说明;不是JSON里的key
event固定value 中文含义 是否是最终内容
accepted 已接收问题 否,只表示接纳
progress 处理阶段更新 否,过程提示
heartbeat 等待中的存活通知 否,显示仍在处理
answer 回答文本 是,正文或概述
source 一条参考来源 是,证据详情
item 一项推荐 是,一张卡片及其依据
summary 综合说明 是,末尾结论
interrupt 等待用户补充/确认 是交互问题,尚需继续
result 本轮完整结果快照 与前面answer/item等有重复,不重复追加展示
done 本次响应流正常结束 停止本轮加载动画
error 本次响应流异常结束 显示错误并停止加载

3. 进度与完成状态

key 中文名称 说明
stage 当前阶段标识 固定英文值见下表
status 当前状态 同名字段在不同位置含义不同,必须结合路径判断
message 给用户看的说明 直接展示已返回的中文
elapsed_seconds 本次请求累计耗时 单位秒,不是剩余时间或节点单独耗时
stage的value 中文含义
session 读取会话信息
prepare 整理用户问题
analyze 识别需求;普通对话的LLM回复也在此生成
direct 输出普通对话回复
clarify 准备补问信息
search 查找公司候选(此处不是政策检索)
confirm 整理公司候选供用户确认
basic 查询工商信息
honors 查询企业荣誉/资质
handoff 汇总需求及已有信息
plan 拆解需求、规划检索
retrieve 检索政策及配套服务
recommend 分析原文、核对条件并整理回答
status所在位置 固定value 中文含义
progress.data.status running 正在处理这一阶段
progress.data.status completed 这一阶段执行结束,不保证所有业务结果成功
progress.data.status waiting_input 等待用户补充或确认
progress.data.status failed 阶段执行抛错
heartbeat.data.status processing 本次请求仍在处理
done.data.status completed 本轮流程结束,不等于审批通过
done.data.status needs_input 本轮流已结束,等待用户下一次POST继续

4. 最终result与recommendation

以下相对 result.data 解释;普通聊天的recommendation为 {},没有下面的推荐子字段。

key 中文名称 说明
response 本轮回复文本 与answer.data.text一致
recommendation 政策/服务推荐结果 聊天为空对象;政策或具体需求为结构化对象
errors 会话及图流程错误 字符串列表;不覆盖所有候选分析或检索错误

以下相对 result.data.recommendation 解释:

key 中文名称 value / 用途
overview 开场概述 与本轮response一致
conversation_kind 会话目的 policy_overview=了解政策;specific_need=解决具体需求
audience 本轮处理对象 general=一般政策介绍;individual=个人/无需公司路径;enterprise=需要企业信息的路径,不代表公司已核实
items 推荐条目列表 每项与一个item事件的数据一致
sources 来源列表 每项与一个source事件的数据一致;可能多于推荐条目
follow_up_questions 待补充的资格条件问题 字符串列表,不等于公司interrupt中断
summary 综合结论 内容与summary事件一致
excluded_items 未入选展示的条目 包含source_id和reason
presentation 推荐展示方式 顺序提示,见下表
retrieval_analysis_complete 本轮检索和分析是否完整 true只代表本轮有限候选处理完整,不代表没有遗漏政策
complete 本轮结果完整性标记 还考虑必要企业信息和规划等;不是获批结果,也不覆盖summary降级
company_context 公司信息获取情况 不是完整工商画像
analysis_errors 候选逐项分析错误 每项record_id=知识记录ID、code=错误码
retrieval 检索过程信息 查询及失败范围等,可用于详情或诊断
search_plan 查询拆解计划 查询方向是假设,不代表政策存在
嵌套key 中文名称 固定value中文解释
presentation.order 建议展示顺序 ["items","summary"]=先推荐卡片,再综合说明
presentation.sorted_by 排序依据标识 subject_policy_evidence=主体与政策证据;纯政策介绍实际仍按原检索顺序,以items/priority为准
company_context.profile_verified 已取得身份核对后的公司工商资料 true=已取得;不代表政策资格已通过
company_context.honors_complete 荣誉获取是否完整 true=完整,false=未完整,null=无该状态/未查询
company_context.errors 公司流程错误列表 如工商查询失败等

普通对话在图内部还有service_intro=身份/能力咨询、greeting=问候/致谢、smalltalk=闲聊/轻量创作、general_info=一般信息咨询、needs_clarification=需求待说明、out_of_scope=无法处理的范围外任务、analysis_failed=识别失败。这些内部分类目前不单独返回在普通聊天result中,不要要求前端必须收到它们。

5. item与卡片字段

以下相对 item.datarecommendation.items[] 解释:

key 中文名称 说明
source_id 对应来源ID 与sources[].id关联
title 来源标题 页面正式名称优先显示card.name.text
card 卡片信息 各字段见下表
answer 这一条的解释正文 与外层answer事件不同,是单条政策/服务说明
match_reason 匹配原因 此处是字符串
match_basis 主体与政策的比较依据 数组,逐项记录用户/公司事实与政策条款
citations 引用列表 每条包含path、quote
conditions 条件核验列表 不是原文中所有申报条件的简单拷贝
eligibility 资格评估状态 not_evaluated=未评估;当前具体需求入选条目通常为“待确认”
recommendation_status 推荐结论说明 已是中文,如“相关政策与服务介绍”“相关线索,资格待核验”
priority 展示优先级 不表示概率
priority.rank 展示序号 1=第1项,2=第2项,数值越小越靠前
priority.basis 排序理由 已是中文,如“原检索顺序”
card内key 中文名称 value结构/含义
kind 卡片类型 policy=政策;financial_product=金融产品;service=服务事项
name 正式完整名称 {text,citations},应保留完整名称
department 所属部门/提供机构 {text,citations}或null
support_objects 支持对象 {text,citations}或null
support_methods_standards 支持方式和标准 {text,citations}或null
application_conditions 申报条件 {text,citations}或null
match_reason 匹配原因信息 对象,含text、citations、subject_policy_comparisons;不是字符串
match_reason.subject_policy_comparisons 主体与政策逐项比较 与item.match_basis对应的比较数组
text 可展示文本 实际中文内容,不是英文枚举
citations[].path 引用在原始记录中的字段路径 例如/title、/raw_record/content;不是网址
citations[].quote 原文引句 逐字引用的文本

同名key要看层级:item.match_reason是文字,item.card.match_reason是对象;item.answer是单条说明,SSE answer.data.text是整轮正文或概述。

6. conditions:资格条件核验

key 中文名称 value含义
dimension 核验维度 地区/主体/行业/时间/其他条件,已是中文
status 条件核验状态 满足/不满足/待确认,已是中文;当前模型输出“满足”会被保守转为“待确认”
requirement 条件要求 原文规定或尚需核验的要求
quote 条件依据的原文引句 可能为空,表示没有该引用
user_evidence 已知用户信息依据 用户自述或当前已有事实,可能为空
question 需要补问的内容 可能为空;不代表一定触发interrupt
evidence_path 证据所在字段路径 可选字段,例如明确有效期已过时附带

“待确认”不是“不符合”;“有相关依据”不是“已具备资格”。页面宜显示核验状态和具体缺口,不转换为通过率。

7. match_basis:主体事实与政策比较

key 中文名称 value含义
dimension 比较维度 需求/地区/行业/资质/主体/时间/其他;与conditions维度不完全相同
status 相关性比较结论 supports=支持相关性;conflicts=存在冲突;unknown=无法判断
fact_path 主体事实路径 例如/question=本轮原问题,/company/...=工商字段,/honors/...=荣誉字段
fact_quote 主体事实引文 用户或公司资料中的原始内容
policy_path 政策证据路径 政策原文记录内的位置
policy_quote 政策原文引句 用来比较的政策条款
explanation 比较结论解释 中文说明
fact_origin 主体事实来源类别 user=用户自述;company=工商资料;honor=荣誉资质资料
provenance 来源追溯信息 根据来源类型附带不同字段
provenance.type 来源类型说明 user_statement=用户自述
provenance.api_code 企业信息接口编号 886=公司候选查询;410=工商详情;1001=荣誉资质(主体比较通常用后两项)
provenance.fetched_at 信息获取时间 时间字符串,不是政策发布日期
provenance.page_index 原始查询页码 荣誉分页等使用

supports只能译为“有支持相关性的依据”,不能译成“已满足条件”。

8. summary与排除原因

key 中文名称 value含义
summary.text 综合说明正文 中文结论及下一步
summary.source_ids 综合说明依据的来源ID列表 对应sources[].id
summary.status 说明生成状态 generated=模型已生成;fallback=生成失败后使用备用说明;no_recommendations=没有入选推荐
summary.notices 补充提示列表 例如资料未获取完整、同名条目处理等
summary.error 综合说明错误码 可选,summary_generation_failed=综合说明生成失败
excluded_items[].source_id 未入选条目的来源ID 可关联sources查看原文
excluded_items[].reason 未入选原因 下表释义
reason固定value 中文含义
expired 原文明示的执行/有效期限已过
ineligible 存在明确不满足的资格条件
reference_only 仅供参考,未形成可展示的具体卡片
subject_conflict 主体事实与政策条款有冲突
insufficient_personal_match 缺少针对当前主体的需求/行业/资质匹配依据
duplicate_name 与已展示条目名称重复,未合并不同版本

9. source:引用来源与原文

key(相对source.data或sources[]) 中文名称 说明
id 来源记录ID 与item.source_id关联
title 原始记录标题 可能与卡片正式名称不同
type 检索知识类型 下表释义
source 原始资料来源信息 来源对象或null,不是原文正文
full_record 完整知识记录 保留入库字段及原始内容,下面只解释统一模板字段
snapshot 知识快照标识 用来定位这批入库数据,不能当作有效期或日期
analysis_complete 这条资料是否分析完整 true/false;不表示资格核验通过
detail_anchor 页面详情锚点建议值 例如source-k_...;不是后端详情URL
source.type / retrieval.searched_types值 中文含义
policy 政策知识
finance 金融产品知识
qa 问答知识
article 文章类知识
service_guide 办事指南
service_catalog 服务目录

注意:金融知识类型是finance,金融卡片类型是financial_product;不是拼写错误。原始full_record.kind还可能是general=通用知识;catalog=索引目录是入库分类,当前常规搜索不查询它。

原始source对象中的统一字段

key 中文名称
file 来源文件相对路径
locator 文件内定位信息(结构依资料类型)
sha256 来源文件内容校验值
url 原始网页地址;为空时不应自行拼接
publisher 发布机构
published_text 原文发布日期文字
updated_text 原文更新时间文字
acquired_at 资料获取时间

full_record统一模板字段

key 中文名称 / 说明
schema_version 数据结构版本
id、kind、title 记录ID、原始知识类别、标题
collection 所属资料集合
classification_path 分类层级路径
applicability 适用范围对象
applicability.region 适用地区
applicability.target 适用对象
source 原始来源信息,见上表
validity 有效性信息
validity.status 有效性状态;unverified=未核实,不是“已失效”
validity.effective_from / effective_to 生效/失效日期,可能未知
data 按资料类型整理的业务字段,不同于SSE外层data
sections 分段内容列表
raw_record 原始资料记录,字段来自原数据,不能强制套用卡片字段含义
content_sha256 内容校验值,不用于正文展示
quality_flags 资料整理质量提示列表,不是推荐评分
duplicate_of 重复记录对应的ID;null=没有该关联

以上仅解释统一模板,实际full_record还可能包含摘要增强等字段;外部raw_record中的任意字段不能在没有来源定义时猜译。前端日常展示优先用card,原始数据可放入展开的“完整来源”。模板见 政策金融问答通用知识

10. 检索与需求拆解字段

key(相对recommendation) 中文名称 说明
search_plan.needs 拆解出的独立需求 对象数组
search_plan.needs[].need 需求描述 用户想解决什么
search_plan.needs[].evidence 用户原话依据 必须来自本轮问题
search_plan.needs[].query 为此需求生成的检索表达 搜索方向,不是政策名称或结论
search_plan.queries 扩展检索表达列表 原问题仍会单独进入检索
search_plan.error 拆解失败码 null=此字段无错误;query_planning_failed=需求拆解失败
retrieval.queries 实际用于检索的查询列表 包括原问题及有效扩展
retrieval.failed_databases 检索失败的知识库类型列表 英文类型见第9节;retrieval_service=检索服务整体失败占位标识
retrieval.failed_queries 失败的查询与知识类型组合 对象数组
retrieval.failed_queries[].query_index 查询序号 从0开始,对应retrieval.queries;不同于从1开始的卡片rank
retrieval.failed_queries[].type 失败的知识类型 policy/finance/qa等
retrieval.content_failures 原文读取或校验失败的记录ID列表 不是未命中列表
retrieval.complete 检索阶段是否完整 true不代表每个政策都找到了
retrieval.snapshot 检索所用知识快照 数据批次标识
retrieval.searched_types 搜索过的知识类型 如policy、finance等
retrieval.candidate_limit 候选预算上限 当前默认12,不是已推荐条数

整体服务降级时retrieval的部分字段可能缺失,不能把缺失强制转换成正常空列表。

11. interrupt与公司候选

key 中文名称 value含义
kind 补问类型 company_need=补充是否需要公司信息;company_selection=确认公司候选
question 给用户的问题 直接展示
input_help 输入方式提示 直接展示
schema 内部补问参数结构说明 不要当成HTTP额外请求参数
schema.needs_company 是否需要公司信息 文档提示boolean=布尔值;API仍通过question文字提交
schema.company_hint 公司线索 文档提示string=字符串
result 本次公司候选查询结果 不等于SSE result事件的最终答复
result.candidates 公司候选列表 保持后端顺序,以显示序号选择
result.may_have_more 是否可能有下一页 true显示下一页操作
result.error 候选查询失败码 有此错误时,不把空候选说成“查无公司”
result.source 公司查询来源信息 与知识source对象结构不同,见下表
page 当前候选页码 从1开始
actions 内部支持操作说明 select=选择,refine=换关键词,next=下一页,retry=重试,cancel=取消公司查询
actions.select.key_no 所选公司的内部标识 当前API由数字序号映射,不直接提交该对象
actions.refine.keyword 新查询关键词 API用question字符串提交
candidates[]中的key 中文含义
KeyNo 公司候选唯一标识
Name 公司名称
CreditCode 统一社会信用代码
StartDate 成立日期
OperName 法定代表人/负责人姓名(依主体类型)
Status 企业登记状态,例如存续、注销;不是请求处理状态
No 企业注册号
Address 企业注册地址
公司查询result.source中的key 中文含义
provider 数据提供方,当前为企查查
api_code 查询接口编号,886/410/1001释义见第7节
document_url 数据接口文档地址,不是公司主页
fetched_at 查询获取时间
page_index 本次查询页码,未分页时可能为null
total_records 服务提供方报告的总条数,未知时为null

用户选择第1家公司时提交 question="1";换关键词直接提交新名称;/next=下一页,/retry=重试,/cancel=取消公司查询。不需要公司信息可输入“不需要”“无需公司信息”或/skip。不要把schema或actions里的对象原样塞入question。

12. 错误码中文说明

错误对象中 errorcode是程序识别的错误码,message是可选用户提示;不是每个错误都有message。多个层级的错误来源不同,页面应结合当前操作描述。

HTTP层和SSE终止错误

固定value 中文含义
application_json_required 请求必须使用application/json
invalid_request 请求JSON或参数不符合要求
request_too_large 请求内容超过64KiB
request_timeout 接收请求体超时
thread_busy 该会话已有问题正在处理
server_busy 服务处理容量已满或正在关闭
service_unavailable 暂时无法提交后台处理任务
processing_failed 本轮处理异常失败
stream_timeout 流持续时间超过上限
unfinished_turn 上轮还有未完成阶段,需要/retry恢复或换新会话

图流程与推荐中的常见错误

固定value 中文含义
intent_analysis_failed 用户意图识别/普通对话模型调用失败
direct_response_unavailable 普通回复缺失或格式不合法,已使用兜底
search_limit 达到本轮公司候选查询次数上限
query_planning_failed 需求拆解失败,本轮按原问题检索
summary_generation_failed 综合说明生成失败,使用备用说明
analysis_budget_limit 候选原文超过单条分析预算
analysis_context_limit 模型输入超过上下文预算
incomplete_generation 模型输出未完整结束
model_service_failure 模型服务调用失败或输出无法解析
analysis_failed 候选分析异常失败
invented_citation 引文无法在对应原文中找到,已拒绝使用
invented_condition_quote 条件引用无法在原文中找到
invented_card_citation 卡片字段引用无法在原文中找到
invented_match_evidence 主体或政策比较证据无法核对
missing_citations / missing_card_citation 缺少正文/卡片引用
missing_card 缺少规定的卡片字段
rewritten_policy_name 卡片名称与原文完整名称不一致

分析错误还可能出现invalid*、missing*等结构校验码;这些表示模型输出未通过相应字段校验,不是用户资格“不满足”。未知码可显示“部分内容未能完成分析”,保留原码供排查,不猜测为“没有政策”。

公司查询错误(可能带search:、basic:、honors:前缀)

值或前缀 中文含义
search: 公司候选查询阶段
basic: 工商资料查询阶段
honors: 荣誉资质查询阶段
network_failure 网络连接失败或超时
http_数字 上游HTTP错误,例如http_503=上游暂不可用
provider_failure 企查查业务返回失败
response_too_large 上游响应内容过大
invalid_json 上游不是合法JSON
invalid_result / invalid_search_result 上游数据结构不符合要求
invalid_candidate / duplicate_candidate 候选身份缺失或重复
invalid_paging 分页信息不合法
company_identity_mismatch 工商详情与用户确认的公司身份不一致
invalid_honor_result / invalid_honor_data 荣誉返回结构不合法
inconsistent_honor_result / inconsistent_honor_paging 荣誉记录或分页数据不一致
page_limit 已到荣誉查询页数上限,资料可能未取全

例如 basic:network_failure 应理解为“查询工商信息时网络失败”,不能只显示“basic”。Redis等未捕获异常在API层通常被统一为processing_failed,不应期待接口透出所有内部错误。

13. 不同“完成”标记分别判断什么

字段 可以理解为 不能理解为
progress.status=completed 当前阶段结束 依赖一定成功、政策一定符合
done.status=completed 本次响应流正常结束 模型一定没有降级、用户一定符合资格
retrieval.complete=true 本轮检索范围内处理完整 所有政策都找到了
recommendation.complete=true 本轮规定信息完整性条件通过 综合说明一定是模型生成、政策一定获批
summary.status=generated 综合说明成功生成 内容已获人工审核或资格审批
conditions.status=待确认 资格条件还需补充核验 不符合条件
match_basis.status=supports 当前事实支持相关性判断 全部申报条件已满足

页面上优先展示后端给出的中文message/text和具体事实。英文状态按所在字段翻译成标签即可,原始ID、路径、校验值、错误码放在引用详情或诊断信息中。