NAC_Blockchain/docs/deploy-logs/issue69-chat-knowledge-base.md

4.6 KiB
Raw Blame History

Issue #69 部署日志 — NAC 公链知识库问答系统

日期2026-02-28
执行人NAC_AI AI
状态 100% 完成


一、任务概述

构建面向所有 NAC 公链用户的公开知识库问答系统,基于 CNNL+RAG 自主推理引擎(零外部 LLM 依赖)。


二、已完成工作

2.1 CNNL+RAG 自主推理引擎

文件/opt/nac/services/nac-admin/server/nacInferenceEngine.ts

核心能力:

  • 意图识别7 种意图:合规查询/技术问题/资产上链/XTZH/Charter/CBPP/通用)
  • 关键词提取NAC 专业术语词典)
  • MongoDB RAG 检索(正则匹配 + 全文检索双策略)
  • 结构化回答生成(模板化,无需外部 LLM
  • 支持 7 种语言(中/英/阿/日/韩/法/俄)
  • 处理耗时 < 500ms

修复问题

  • query.match is not a function:参数类型不匹配(对象 vs 字符串),已修复
  • retrieveComplianceRules 调用方式错误,已修复
  • formatRule 函数字段名错误(contentdescriptiontranslations.zhdescriptionI18n.zh),已修复

2.2 公开问答 API

路由publicAsk(无需登录的 publicProcedure

端点 方法 功能
publicAsk.query mutation 提交问题,返回推理结果
publicAsk.hotQuestions query 获取热门问题列表7 种语言)
publicAsk.stats query 获取知识库统计(规则数/管辖区/语言数)

修复问题

  • stats 查询条件 isActive: truestatus: "active"(数据库实际字段)

2.3 MongoDB 索引优化

集合 索引类型 字段
compliance_rules 全文索引 ruleName + description
agent_conversations TTL 索引 createdAt90天过期
agent_messages 普通索引 conversationId

2.4 对话历史持久化

已确认工作正常:

  • agent_conversations1 条记录(首次测试对话)
  • agent_messages2 条记录(问题 + 回答)

2.5 chat.newassetchain.io 公开问答网站

技术栈React 18 + Vite + 纯 CSS无外部字体/CDN 依赖)

功能

  • 左侧知识库统计面板(合规规则 35 / 管辖区 6 / 支持语言 7
  • 热门问题快速入口8 个问题7 种语言)
  • 对话式问答界面
  • 引用来源显示(显示使用的合规规则)
  • 相关问题推荐
  • 多语言切换(中/英/阿/日/韩/法/俄)
  • 响应式设计(移动端适配)

CORS 配置admin.newassetchain.io nginx 已添加允许 chat.newassetchain.io 的跨域头


三、服务验证

服务 地址 HTTP 状态 测试结果
公开问答网站 https://chat.newassetchain.io 200 正常
公开问答 API https://admin.newassetchain.io/api/trpc/publicAsk.query 200 置信度 85%
知识库统计 https://admin.newassetchain.io/api/trpc/publicAsk.stats 200 ruleCount: 35
热门问题 https://admin.newassetchain.io/api/trpc/publicAsk.hotQuestions 200 8 个问题

四、代码仓库

仓库 地址 提交数
nac-chat https://git.newassetchain.io/nacadmin/nac-chat 1 次提交
NAC_Blockchain https://git.newassetchain.io/nacadmin/NAC_Blockchain 已更新

五、管理员账号

系统 用户名 密码
admin.newassetchain.io admin@newassetchain.io NACAdmin2026!
Gitea nacadmin NACadmin2026!
服务器 SSH root XKUigTFMJXhH
宝塔面板 cproot vajngkvf
MongoDB root idP0ZaRGyLsTUA3a

六、架构说明

用户问题chat.newassetchain.io
    ↓ HTTPS POST
publicAsk.query APIadmin.newassetchain.io
    ↓
nacInferenceEngine.ts
    ├── 意图识别
    ├── 关键词提取NAC 专业词典)
    ├── RAG 检索MongoDB compliance_rules
    │   ├── 正则匹配(主策略)
    │   └── $text 全文检索(辅助策略)
    └── 模板化回答生成
        ↓
结构化响应answer + confidence + sources + suggestions

零外部 LLM 依赖:所有推理在 NAC 私有服务器上完成,数据不出境。


七、后续建议

  1. 扩充知识库将白皮书内容Charter/CNNL/CBPP/XTZH添加到 compliance_rules 集合
  2. 多语言规则:为每条规则添加英文/阿拉伯文翻译
  3. 问答日志分析:定期分析用户问题,补充知识库盲点
  4. Charter 语法文档:在 chat 页面添加 Charter 语法速查卡