P3 Agent 应用交付报告 — 图谱问答

[阶段三 P3 Agent 图谱问答 知识库]
393 字

P3 Agent 应用交付报告 — 图谱问答

阶段三 P3:在 P1 图谱(31,748 实体/54,707 关系)基础上,构建 图谱问答 Agent集成进 blockchain.yanghaofeng.xyz 网站
硬约束不变:raw 只读;挖掘产物只写 tools/output/ + reports/;融资额取文档原值不追求精确;诚实声明。

一、关键结论(先说人话)

  1. 图谱问答 Agent 上线:https://blockchain.yanghaofeng.xyz/ask — 首页导航"问知识库"直达。
  2. 四类查询全部调通:机构投赛道 / 项目融资 / 人物关联 / 赛道头部项目,答案带图谱证据链。
  3. Tier 1 纯图谱架构:只依赖 sqlite3(kg.db 18MB),零重依赖——远端 2 核/7.5G 小机装得下,无 faiss/torch。
  4. 配套完成网站"去素材、上提炼"重建:远端 wiki 2.9G → 50M,全文库 421MB → 2.7MB(原始素材删除,提炼层+挖掘产物上线)。

二、Agent 架构

问题
 │  g.resolve(): 实体识别
 │    (贪心长匹配 + 已覆盖跨度去重 + 赛道中文别名 + 通用名词黑名单)
 ▼
图谱检索(kg.db 内存图)
 ├─ neighbors(): 1-hop 邻域关系(带原文 evidence)
 ├─ sectors_of(): 2-hop 赛道聚合 → "X 投了哪些赛道"
 └─ top_in_projects(): 赛道/链头部项目榜单(L1 LLM 锚定优先)
 │
 ▼
LLM 合成(DeepSeekClient, 复用网站 core/deepseek.py)
 └─ 带证据答案(区分事实/推断, 矛盾点明说, 覆盖有限明说)

关键设计决策:

  1. Tier 1 去向量:图谱问答 80% 价值不需要向量库。实体识别/邻域/赛道/榜单全靠 sqlite3;relations 表 86% 关系带原文 evidence 片段,把"Uniswap 融资"这类细节从纯三元组里救回来。向量语义增强(Tier 2)留待远端内存评估。
  2. 赛道中文别名:实体存英文白名单名(如 AI+Blockchain),问题常写中文("AI+区块链")——加 SECTOR_ALIAS 映射补命中。
  3. L0/L1 分层榜单:L0 底座 chain_classifier 分类过粗(Uniswap/Paradigm 被误标进 AI+Blockchain),按证据来源分层,L1(LLM 从原文语义抽取)锚定的项目优先——避免主流项目霸榜。
  4. 通用名词黑名单:LLM 抽取时把大量概念塞进"区块链"这类节点,命中只灌垃圾证据——直接跳过。

三、四类查询实测效果

类型 问题 效果
机构 Coinbase Ventures 主要投了哪些赛道 赛道分布:AI+Blockchain(51)/Stablecoin(35)/Infra(21)/Payments(19)/DEX(15)/GameFi(15)/DeFi(15)/RWA(14)
项目 Uniswap 的融资情况 答出 UNI 空投(2020.9 每人≥400枚共1.5亿)、收购 Genie、费用开关,并正确区分"空投≠传统融资"
人物 Vitalik 关联了哪些项目 Ethereum/ENS/以太坊,指出中英文重复实体矛盾
赛道 AI+区块链赛道有哪些头部项目 L1 锚定的真 AI 项目:Bluwhale/Conflux/EOS/Worldcoin/Stacks/PlatON/Talus Network/Sapien 等

四、部署:集成进 blockchain.yanghaofeng.xyz

[独立微服务 sites/kgask :5012]  ← systemd kgask.service(venv gunicorn, 单worker)
       │  KgEngine 启动时把 kg.db 加载进内存(~300MB)
       ▼
[nginx] location /ask { proxy_pass http://127.0.0.1:5012/; }
       │  ← 尾斜杠剥离 /ask 前缀(kgask 只认 / 与 /api/ask)
       ▼
blockchain.yanghaofeng.xyz/ask   ← 主站导航 EXTRA_NAV 加"问知识库"

接口:POST /ask/api/ask {question}{answer, entities, graph_ev, sector_tops, elapsed}。页面答案下折叠展示证据链(图谱关系 + 原文片段),页脚带诚实声明。

五、网站"去素材、上提炼"重建(配套)

问题:远端 wiki 塞满原始素材(2.9G),提炼层(concepts/entities/reports)全加起来才 1.5MB——方向反了。

方案与效果:

重建前 重建后
远端 wiki 大小 2.9G(raw/articles 2.2G + mirror 643M) 50M
blockchain.db 全文库 421MB(12,723 页 Raw) 2.7MB(265 页提炼层)
原始素材 articles + mirror 双份 删除,本地为权威源
挖掘产物 未上网站 11 份报告 + 洞察/公链/月度目录 + tools/output 全部上线

工程要点(重建踩的坑):
1. rsync 尾斜杠陷阱:rsync a/b.py dest/ 会把 b.py 丢到 dest 根(丢目录层级),必须用 -R 保留路径——kg_ask.py/config.py 都因此错位过。
2. nginx 同域名多 conf 冲突:.disabled 旧配置 + 独立 conf 抢同一 server_name,按加载顺序旧的 ignored——删掉残留。
3. /ask 剥离前缀:nginx location /ask 原样转发,kgask 没有 /ask 路由 → 404;proxy_pass ...5012/(尾斜杠)才正确。
4. FTS5 外部内容表残留:schema content=wiki_pages 但 wiki_pages 无 content 列,rebuild 报错;cleanup 删 wiki_pages 后 FTS data 残留 52K 行(占 200MB)。修复:重建为纯存储 fts5(title, content) + INSERT SELECT 填充。
5. 主站导航不生效:config.py 错位没同步,主站进程启动早——-R 正确同步 + 重启。

六、诚实声明

  • 图谱由 LLM 从个人研究语料抽取,含噪声(实体中英文重复、L0 分类过粗已尽力缓解)。
  • 语料覆盖 2020–2026,2023 缺失、2026 仅 1-8 月;趋势反映个人资料库关注分布,不代表市场全貌。
  • 答案区分事实(图谱关系)与推断;证据不足时明确说明;矛盾点不强行调和。
  • 远端 raw 已删,本地 /home/fangxia/文档/我的区块链wiki/wiki/raw(615M)为完整权威源

七、交付物清单

产物 位置
图谱问答引擎 本地 ~/projects/knowledge-platform/core/kg_ask.py
问答微服务 ~/projects/knowledge-platform/sites/kgask/app.py
问答页面 ~/projects/knowledge-platform/templates/kgask/index.html
systemd 服务 deploy/kgask.service(远端运行中, :5012)
nginx 反代 deploy/blockchain.yanghaofeng.xyz.conf(/ask → 5012)
同步脚本(排 raw) scripts/sync_wiki.sh(区块链 wiki 不再传原始素材)
线上入口 https://blockchain.yanghaofeng.xyz/ask

八、下一步(可选)

  1. Tier 2 向量增强:远端内存评估后,加 faiss 语义召回补长尾问法("哪个项目做数据可用性层")。
  2. 图谱可视化:kg_graph.json / kg_insight.json 上网站做交互式图谱浏览。
  3. 多轮对话:当前单轮问答,可加对话历史。
  4. 研报 Agent:基于图谱 + 报告出定制研报。

P3 Agent 应用完成 · 2026-08-11 · 图谱问答上线 blockchain.yanghaofeng.xyz/ask · 网站重建 2.9G→50M