diff --git a/services/nac-admin/server/nacInferenceEngine.ts b/services/nac-admin/server/nacInferenceEngine.ts index 50985ec..b0c2f59 100644 --- a/services/nac-admin/server/nacInferenceEngine.ts +++ b/services/nac-admin/server/nacInferenceEngine.ts @@ -12,6 +12,7 @@ */ import { retrieveComplianceRules, buildRAGPromptContext, type RAGContext } from "./ragRetrieval"; +import { invokeLLM } from "./_core/llm"; // ─── 类型定义 ───────────────────────────────────────────────────── @@ -209,40 +210,63 @@ CNNL 编译器地址:https://cnnl.newassetchain.io NVM 与 EVM 的区别:NVM 内置 AI 合规验证操作码、支持 GNACS 资产分类、原生支持 ACC-20 协议。 当前版本:NVM v2.0,支持流体区块模式。`, - "CBPP": `CBPP(Constitutional Block Production Protocol)是 NAC 公链的共识协议。 -CBPP 基于宪政节点(CBP 节点)轮流出块,而非 PoS/PoW 挖矿。 -CBP 节点需要:KYC Level 2 + constitutional 节点状态 + 质押 XTZH。 -区块生产流程:提案 → 宪法验证 → 多签确认 → 上链 → 广播。`, + "CBPP": `CBPP(Constitutional Block Production Protocol,宪政区块生产协议)是 NAC 公链的原生共识协议。 +核心宪法原则(四句): +① 约法即是治法:宪法条款直接编码为共识规则,无需外部执法机构。 +② 宪法即是规则:所有节点行为受宪法约束,违反宪法的区块自动无效。 +③ 参与即是共识:合格节点的参与行为本身构成共识,无需额外投票或挖矿。 +④ 节点产生区块,交易扩展区块大小:区块由宪政节点(CBP 节点)产生;区块大小不固定,随交易量动态扩展。 + +CBPP 不是 PoS/PoW/DPoS 的变种,其出块权来自宪法赋予的资格,而非财富或算力。 +CBP 节点资格:KYC Level 2+ + 宪法法院审核通过 + 质押 XTZH + 在线率 ≥ 90%。 +出块时间目标:≤ 0.3 秒,最终确认 < 3 秒。初始宪政节点数:21 个(测试网 V1.0)。`, "CSNP": `CSNP(Constitutional Sovereign Network Protocol)是 NAC 公链的网络协议,替代传统 P2P。 CSNP V2.0 六层架构:物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 应用层。 CSNP 与传统 P2P 的区别:节点需要宪法授权才能加入网络,防止女巫攻击。`, - "XTZH": `XTZH 是 NAC 公链的原生稳定币,采用 SDR 锚定模型 + 黄金储备双重背书。 -SDR 篮子权重:USD 41.73% + EUR 30.93% + CNY 10.92% + JPY 8.33% + GBP 8.09%。 -黄金储备:每枚 XTZH 背后有等值黄金储备支撑。 -用途:链上 Gas 费用、质押、RWA 资产定价。`, + "XTZH": `XTZH(XIN TZU HUANG,新子黄)是 NAC 公链的核心稳定价值尺度系统,定位为 "RWA 结算凭证 + 价值锚"。 +锚定物:SDR 资产组合(50% 黄金 + 30% 法币 + 20% 大宗商品)。 +黄金储备:每铸造 1 XTZH,需 0.625 美元实物黄金储备(1.25 倍安全边际)。 +铸造方式:① RWA 资产质押铸造(七步精炼流程);② 跨链资产质押铸造(八步流程)。 +铸造条件:资产须通过七层合规 + 合规评分 ≥ 85 分 + 持有足够 XIC 作为能耗准备金。 +可铸造量公式:M_max = V_xtzh × L(V_xtzh=AI估值,L=动态质押率30%-90%)。 +资金分配:80% 配置 SDR 资产组合,20% 风险准备金。 +用途:RWA 资产结算、借贷清算、估值基准(NAC 生态唯一法定结算货币)。 +赎回:销毁 XTZH → 释放质押资产 + 平仓黄金储备 → 返还等值资产。`, - "GNACS": `GNACS(Global NAC Asset Classification System)是 NAC 公链的全球资产分类编码系统。 -GNACS 为每类资产分配唯一的 48 字节 Hash 编码(SHA3-384)。 -支持资产类型:房地产、股权、债券、大宗商品、知识产权、基金。`, + "GNACS": `GNACS Pro V2.0(Global Native Asset Chain Standard)是 NAC 公链的全球原生资产链统一分类标准,采用 48 位编码。 +编码结构:物理属性(1-6位) + 法律属性(7-12位) + 经济属性(13-18位) + 技术实现(19-24位) + 合规属性(25-30位) + 风险属性(31-36位) + 流动性属性(37-42位) + 实例序列号+校验码(43-48位)。 +整合国际标准:HS海关编码、巴塞尔协议、IPSAS/IFRS、ISO、FATF。 +编码示例:010121=纯种繁殖用马,990101=封装比特币(nBTC),900201=XIC治理代币。 +GNACS 编码规则已宪法化(条款 GNACS_GENERATION_RULE),修改需 66% XIC 投票。`, - "ACC-20": `ACC-20 是 NAC 公链的原生资产协议标准,类似以太坊的 ERC-20 但专为 RWA 设计。 -ACC-20 内置:AI 合规验证、AI 估值、GNACS 分类编码、七层合规验证框架。 -ACC-20 资产上链需要通过七层合规验证才能铸造(mint)。`, + "ACC-20": `ACC-20 是 NAC 公链的原生同质化资产协议,对应以太坊 ERC-20,但具有原生合规能力。 +ACC 协议家族:ACC-20(同质化)、ACC-721(唯一资产)、ACC-1155(多资产)、ACC-20C(跨链)、ACC-REALESTATE(不动产)、ACC-CARBON(碳信用)。 +ACC-20 与 ERC-20 的核心区别:内置 CHECK_COMPLIANCE 操作码(NVM 层面拒绝不合规操作)、绑定 OwnerDID、使用 SHA3-384(48字节)而非 Keccak-256。 +核心接口:mint(to, amount, assetDNA)—须通过七层合规;transfer(to, amount)—自动合规检查;burn(amount)—触发资产解质押。`, - "七层合规": `NAC 七层合规验证框架是 RWA 资产上链的核心审查机制: -第1层:身份验证(KYC/AML) -第2层:资产真实性验证(实物资产证明) -第3层:所有权验证(产权证明) -第4层:估值验证(AI 估值 + 第三方评估) -第5层:法律合规验证(管辖区法规) -第6层:技术合规验证(Charter 合约审计) -第7层:宪法合规验证(CNNL 规则通过)`, + "七层合规": `NAC 七层合规验证框架是 RWA 资产上链的核心审查机制(所有资产操作均须通过全部七层): +第1层:身份合规(KYC Level ≥ 2 + AML 黑名单筛查 + OwnerDID 验证) +第2层:资产合规(GNACS 编码合法性 + 资产类别白名单) +第3层:主权合规(主权类型验证 + 《NAC 原生资产主权规则法典》) +第4层:估值合规(AI 多模型协同估值 + 白名单预言机数据源) +第5层:交易合规(单次/日累计限额 + 交易对手方合规状态) +第6层:监管合规(40+ 司法辖区监管规则 + 实时监管预言机更新) +第7层:技术合规(DNA 完整性验证 + 合约代码合规 + XIC Gas 充足性)`, "RWA": `RWA(Real World Assets)即真实世界资产,是 NAC 公链的核心应用场景。 -NAC 公链专为 RWA 上链设计,支持:房地产、股权、债券、大宗商品、知识产权、基金。 -RWA 上链流程:资产评估 → KYC 认证 → 七层合规验证 → GNACS 编码 → ACC-20 铸造 → 链上确权。`, +NAC 公链专为 RWA 上链设计,支持:不动产、股权、债券、大宗商品、知识产权、基金、碳信用、跨链数字资产等。 +RWA 上链完整流程(十三步宪法闭环): +① 资产申请 → ② AI合规审查(七层)→ ③ AI审批 → ④ AI估值 → ⑤ 法律意见书 → ⑥ 确权+DNA生成 → ⑦ 资产托管 → ⑧ TOKEN发行(ACC-20/721/1155) → ⑨ 链上权证凭证 → ⑩ 衍生权益化 → ⑪ XTZH铸造(可选)→ ⑫ 装入钱包 → ⑬ 交易所上线。 +一键上链:AI 自动完成 GNACS 编码、DNA 生成、七层合规、AI 估值、确权、TOKEN 发行全流程。`, + + "XIC": `XIC(XIN I CHAIN)是 NAC 公链的原生治理代币,承担双重职能:治理代币 + 能量(Gas)代币。 +治理职能:XIC 持有者投票参与 NAC 公链所有重大决策,投票权重按持有量加权。治理范围:宪法修订(75%)、协议参数调整(66%)、常规提案(51%)。 +能量职能:所有 AI 算力操作(资产上链、铸造 XTZH、AI 估值、合规审查)均需消耗 XIC 作为能耗费用。 +发行信息:XIC 已在 BSC(币安智能链)发行,总量 1000 亿枚,永不增发(合约级别限制)。 +BSC 与原生公链锚定:NAC 原生公链主网上线后,BSC XIC 与 NAC 原生 XIC 1:1 完全锚定,可通过官方跨链桥迁移。 +XIC 与 XTZH 的关系:XIC 是铸造 XTZH 的"门票"(能耗费用),XTZH 是 XIC 治理的"对象"(储备参数由 XIC 投票决定)。两者构成 NAC 双代币经济飞轮。`, }; // ─── 多语言回答模板 ─────────────────────────────────────────────── @@ -892,11 +916,69 @@ export async function nacInfer(request: InferenceRequest): Promise { + const ruleContent = r.content ? r.content.slice(0, 300) : ""; + return `[${r.ruleName}(${r.jurisdiction})] ${ruleContent}`; + }).join("\n\n"); + + const isZh = language === "zh" || !language; + + const systemPrompt = isZh + ? `你是 NAC公链AI,专注于 NAC 公链(NewAssetChain)的专业 AI 助手。NAC 公链是一条 RWA(真实世界资产)专用公链,使用 Charter 智能合约语言、NVM 虚拟机、CBPP 共识协议、CSNP 网络。 + +回答风格要求: +- 用流畅的段落表达,像一位有思想的专家在向用户解释,而不是列出数据库条目 +- 先给出核心观点,再展开解释,最后简短总结 +- 不要输出原始 Markdown 标题符号(## ###),不要用机械列表(- 字段: 值) +- 可以适当加粗关键词,但整体是段落文章风格 +- 语气专业、清晰、易懂` + : `You are NAC公链AI, a professional AI assistant for NAC blockchain (NewAssetChain), an RWA-dedicated blockchain using Charter smart contracts, NVM virtual machine, CBPP consensus, and CSNP network. + +Response style: +- Use flowing paragraphs like a thoughtful expert explaining to a user, not database entries +- Lead with the core insight, elaborate, then briefly summarize +- No raw Markdown headers (## ###), no mechanical lists (- field: value) +- Bold key terms sparingly; overall article-paragraph style +- Professional, clear, accessible tone`; + + const userPrompt = isZh + ? `用户问题:${question} + +相关知识库内容: +${rulesContext || rawAnswer} + +请用自然、流畅的段落语言回答这个问题,像专家在解释一样,不要列字段。` + : `User question: ${question} + +Relevant knowledge: +${rulesContext || rawAnswer} + +Please answer in natural, flowing paragraphs like an expert explaining, not listing fields.`; + + const llmResult = await invokeLLM({ + messages: [ + { role: "system", content: systemPrompt }, + { role: "user", content: userPrompt }, + ], + }); + const llmAnswer = llmResult?.choices?.[0]?.message?.content; + if (llmAnswer && llmAnswer.trim().length > 20) { + answer = llmAnswer.trim(); + } + } catch (e) { + // LLM 润色失败时回退到模板回答,保证服务可用 + console.warn("[nacInfer] LLM polish failed, using template answer:", (e as Error).message); + } + // 7. 构建来源引用 const sources: SourceReference[] = ragCtx.rules.map(rule => ({ ruleId: rule.ruleId,