Files
PlantAI-rag-new/sdk/mock/fixtures/upstream_real_shape_sample.json
T
jerryandClaude Fable 5 0875bb036c P0/M1: 四部分重构——frontend→ui、backend→sdk 改名 + 引用修复 + 骨架
- git mv 保留历史:ui/(Vue3+Vite)、sdk/(BFF 中间层)
- 路径语义修正:db_path/figures_cache 改相对 sdk/(BFF cwd),
  历史库 sdk/backend/data 迁移至 sdk/data/(会话/图片缓存无损)
- 引用修复 ~15 处:config.py、deploy/*.sh、vitest/playwright 配置、
  单测导入路径、docs、README、gitignore、.env.example
- 骨架:agent/{qa,methodology,legacy-rag,vendor}、knowledge/manifest.yaml、
  tooling/{compile,kb,crypto,assemble,audit,tools,scripts} + README
- 门禁验证:sdk pytest 125 通过、ui vitest 158 通过、
  生产 BFF 脚本重启四上游全绿 + 静态托管 + 会话库无损

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-31 12:56:47 +08:00

146 lines
6.0 KiB
JSON

{
"_comment": "真实上游 7920 /api/v1/qa-v1-1-73/search 响应形态样本(DISCOVERY.md §4.1 结构,已截断)——供 normalize 单元测试,不直接作为 API 响应。",
"success": true,
"version": "1.1.73",
"query_id": "20260825_000715_49f801a9",
"question": "What is the SPL gene family?",
"answer": "",
"citation_validation": { "valid": true, "cited_pmids": ["28655295"], "unknown_pmids": [] },
"sources": [
{
"evidence_id": "S1",
"kb": "V16/V15",
"source": "SPL gene family",
"relation": "characterized_in",
"target": "Oryza sativa",
"evidence": "## Phylogenetic analysis of the PeSPL genes ...",
"paper_id": "PMC5488377_12864_2017_Article_3882",
"title": "Genome-wide analysis of the SPL gene family in pecan",
"pmid": "28655295",
"pmcid": "PMC5488377",
"doi": "10.1186/s12864-017-3882-4",
"species": "",
"section": "",
"output_layer": "main_kg",
"claim_scope": "",
"relation_id": "cass_d12f62f9abffbd903b97",
"retrieval_methods": ["qdrant_vector"],
"retrieval_queries": ["SPL gene family", "SBP box domain"],
"vector_score": 0.714,
"rrf_score": 1.114,
"rerank_score": 0.989,
"final_score": 0.982,
"cluster_id": "clu_0f8da21642adc4f0",
"cluster_member_count": 3,
"cluster_member_assertion_ids": ["cass_a", "cass_b", "cass_c"],
"cluster_member_paper_ids": ["PMC5488377_12864_2017_Article_3882"],
"cluster_member_pmids": ["28655295"],
"raw": {
"kb_version": "V16",
"source_system": "srt",
"assertion_id": "cass_d12f62f9abffbd903b97",
"source": "SPL gene family",
"relation": "characterized_in",
"target": "Oryza sativa",
"evidence": "## Phylogenetic analysis ...",
"best_evidence": "The SPL gene family is characterized in rice.",
"paper_id": "PMC5488377_12864_2017_Article_3882",
"support_count": 12,
"paper_count": 5,
"quality_score": 0.91,
"best_score": 0.95
}
}
],
"source_count": 1,
"evidence_chain_top30": [],
"provisional_answer": "",
"retrieval_hypothesis": { "question_type": "raw_question", "direct_question_entities": [], "hypothesized_entities": [], "relation_intents": [], "concept_queries": [], "answer_slots": [], "atomic_claims": [], "negative_constraints": [], "parse_status": "ok" },
"query_plan": {
"queries": {},
"alias_audit": {},
"agentic_plan": { "anchor_entity": "SPL gene family", "relation_family": "characterized_in" }
},
"retrieval_audit": { "qdrant": [], "seed_extraction": {}, "neo4j": [], "dedup": {} },
"graph_knowledge_chains": {
"mode": "neo4j_native_path",
"chain_policy": "display",
"chains": [
{
"chain_id": "G1",
"chain_source": "neo4j_native_path",
"hop_count": 2,
"path_score": 0.861,
"start": "SPL gene",
"end": "18 SPL genes in rice",
"bridge_entities": [],
"hops": [
{
"hop_index": 0,
"from_id": "cent_spl", "from_name": "SPL gene",
"to_id": "cent_oryza", "to_name": "Oryza sativa",
"source": "SPL gene", "relation": "characterized_in", "target": "Oryza sativa",
"source_type": "gene_family", "target_type": "species",
"relation_category": "characterized_in",
"assertion_id": "cass_d12f62f9abffbd903b97",
"paper_id": "PMC5488377_12864_2017_Article_3882",
"title": "Genome-wide analysis of the SPL gene family in pecan",
"pmid": "28655295", "pmcid": "PMC5488377", "doi": "10.1186/s12864-017-3882-4",
"evidence": "…", "support_count": 12, "paper_count": 5, "best_score": 0.95,
"edge_score": 0.861
},
{
"hop_index": 1,
"from_id": "cent_oryza", "from_name": "Oryza sativa",
"to_id": "cent_18spl", "to_name": "18 SPL genes in rice",
"source": "Oryza sativa", "relation": "has_gene_family_member", "target": "18 SPL genes in rice",
"source_type": "species", "target_type": "gene",
"relation_category": "has_member",
"assertion_id": "cass_e23a",
"paper_id": "PMC5488377_12864_2017_Article_3882",
"title": "Genome-wide analysis of the SPL gene family in pecan",
"pmid": "28655295", "pmcid": "PMC5488377", "doi": "10.1186/s12864-017-3882-4",
"support_count": 8, "paper_count": 3, "best_score": 0.88,
"edge_score": 0.79
}
],
"score_breakdown": { "path_score": 0.861 }
}
],
"chain_count": 1,
"audit": {},
"summary": { "note": "used_for_answer_generation", "used_for_answer_generation": true }
},
"native_graph_chains": [
{
"chain_id": "G1",
"chain_source": "neo4j_native_path",
"hop_count": 2,
"path_score": 0.861,
"start": "SPL gene",
"end": "18 SPL genes in rice",
"bridge_entities": [],
"hops": [
{
"hop_index": 0,
"from_id": "cent_spl", "from_name": "SPL gene",
"to_id": "cent_oryza", "to_name": "Oryza sativa",
"source": "SPL gene", "relation": "characterized_in", "target": "Oryza sativa",
"source_type": "gene_family", "target_type": "species",
"relation_category": "characterized_in",
"assertion_id": "cass_d12f62f9abffbd903b97",
"paper_id": "PMC5488377_12864_2017_Article_3882",
"pmid": "28655295", "pmcid": "PMC5488377", "doi": "10.1186/s12864-017-3882-4",
"support_count": 12, "paper_count": 5, "best_score": 0.95
}
]
}
],
"assertion_anchored_graph_chains": [],
"degraded_execution": false,
"subquestion_evidence_groups": [],
"rerank_audit": [],
"timings": { "provisional_answer": 0.5, "retrieval": 12.3, "native_graph_chain_retrieval": 70.1, "total": 91.9 },
"flow": ["question", "provisional answer", "structured planner", "retrieval", "native_graph_chain_retrieval"]
}