目 录CONTENT

文章目录

智能财务问答机器人

解小风
2025-07-25 / 0 评论 / 1 点赞 / 6 阅读 / 16442 字

项目详情描述

本项目基于 大模型RAG 技术搭建了 智能财务问答机器人,有效解决了财务咨询服务中知识整理困难、用户提问模糊、人工回复耗时等痛点,在全省范围内正式上线使用,显著提升了财务咨询效率,提供 24 小时全天候智能服务。


★ 问题分析

(1)知识管理效率低下:财务知识类型繁多、更新频繁,传统人工整理方式效率低下,超过 2000 份财务文档的分类、标注和管理工作量巨大,难以构建完整的知识体系。

(2)用户提问质量参差不齐:用户原始问题往往表述模糊,缺乏专业术语,传统问答系统难以准确理解用户意图,导致答复不精准。

(3)人工客服成本高昂:传统人工客服平均回复时长约 5 分钟,且无法提供 24 小时服务,面对复杂财务问题时需要查阅大量资料,响应效率有待提升。

(4)多模态交互需求增长:用户希望通过语音、图像等多种方式进行财务咨询,传统文本问答系统无法满足多样化的交互需求。


★ 解决方案

(1)构建大模型 RAG 本地知识库:采用 RAG 技术,联合多类型数据库,构建多层次知识存储体系,实现智能知识检索与生成。

(2)实现多模态交互能力:集成 ASR、TTS 和 OCR 技术,支持语音问答和文档图像解析,提供多模态交互体验。

(3)开发智能体工作流:基于 Agent 构建用户意图识别、多轮交互问答、财务数据分析等智能体工作流,实现复杂业务场景的自动化处理,提升问答系统的智能化水平。


★ 实施过程

(1)模型选型与部署:基于 VLLM 框架部署 DeepSeek-R1-72BQwen2.5-32B 等大模型;基于 Xinference 框架部署 Embedding 模型(bge-m3bge-large-zh-v1.5)和 Rerank 模型(bge-reranker-v2-m3)。

(2)多数据库联合:部署关系型数据库MySQL)存储结构化财务数据,部署向量数据库Weaviate)存储文档向量和语义索引,部署图数据库Neo4j)构建知识图谱关系,实现多维知识检索和多路召回。

(3)RAG 平台集成:部署 Dify 平台构建 RAG 应用,实现 知识库管理提示词工程工作流编排 等功能。基于 SenseVoiceSmall 模型提供 ASR 能力、开发 Dify 插件 对接 自研 TTS 引擎、部署 MinerU 框架提供 OCR 能力,全面扩展平台多模态能力。

(4)智能体工作流开发:建立 批量生成扩展问 工作流,借助大模型批量生成高质量问答对,增量加入知识库;开发 用户意图识别 智能体,对用户提问进行意图分析与需求理解;构建 多轮交互问答 机制,通过追问、反问的方式引导用户提供更完整信息。

(5)MCP 服务器搭建:自建 MCP 服务器,为大模型提供精准的 数据库查询 能力,支持复杂 SQL 查询,实现财务数据的智能分析与处理。


★ 优化过程

(1)文档分块优化:借助大模型基于段落和语义对文档进行 智能分块;采用 父子分块 策略提升知识检索精度与召回率。

(2)检索召回优化:采用 多路召回 策略,综合使用关键词检索、语义检索和图检索;通过 Rerank 重排序 进一步提升检索精度。

(3)提示词工程优化:设计 多层次提示词 模板,针对不同类型的财务问题定制专属优化提示词;通过 思维链 引导模型分步推理,采用 Few-Shot 帮助模型理解任务模式,综合提升大模型回答准确性与可解释性。

(4)模型微调优化:基于 MiniMind 项目进行 指令微调LoRA 训练,使用知识库中的问答数据集训练代理模型,负责用户问题的优化与检索,与多路召回策略协同工作。


★ 反思改进

(1)项目成功搭建了完整的智能财务问答系统,达到了知识覆盖全面(2000+ 文档,5000+ 知识点)、答复可参考率高(81.5%)、问答效率显著提升(30 秒内响应)的效果,获得了全省用户的高度认可。

(2)后续改进方向:优化多 Agent 协作机制,实现更智能的复杂财务业务自动化处理。


项目涉及技术

★ 大模型本地化部署

(1)VLLM 推理框架:VLLM(Very Large Language Model)是专为大模型推理优化的高性能框架,采用 PagedAttention 算法管理注意力机制的 KV 缓存,相比传统方法提升推理吞吐量 2-24 倍。支持动态批处理、连续批处理等优化技术,有效提升 GPU 利用率。

(2)DeepSeek-R1-32B 模型架构:DeepSeek-R1-32B 采用 Transformer 架构,包含 32B 参数,支持 32K 上下文长度。模型采用 RMSNorm 归一化、SwiGLU 激活函数、RoPE 位置编码等先进技术,在推理任务上表现优异。模型量化后占用显存约 20GB,推理速度达到 50 tokens/s。

(3)Qwen2.5-32B 模型特性:Qwen2.5-32B 是阿里云开源的大语言模型,采用 Mixture of Experts(MoE)架构,实际激活参数约 14B,支持多语言和代码生成。模型在中文理解、数学推理、代码生成等任务上表现突出,适合财务领域的专业问答。

(4)模型部署优化:采用 FP16 混合精度推理,减少显存占用 50%;使用 TensorRT 加速推理,提升推理速度 30-50%;实施模型并行和流水线并行,支持多 GPU 分布式部署。


★ Embedding 模型与向量检索

(1)文本向量化:Embedding 技术将文本转换为高维向量表示,捕获语义信息。向量空间中语义相似的文本在几何距离上更接近。常用的距离度量包括余弦相似度、欧氏距离、曼哈顿距离等。向量维度通常为 512、768、1024 等,维度越高表达能力越强但计算成本也越高。

(2)bge-m3 多语言模型:bge-m3(BAAI General Embedding Model)是智源研究院开源的多语言嵌入模型,支持中文、英文等 100+ 语言。模型基于 BERT 架构,包含 5.6 亿参数,包含 12 层 Transformer,隐藏维度 768,最大序列长度 8192,输出 1024 维向量表示。在 MTEB 基准测试中,中文检索任务 NDCG@10 达到 0.634。

(3)bge-large-zh-v1.5 中文优化:专门针对中文场景优化的嵌入模型,采用对比学习训练策略,负样本采样比例 1:7。模型在中文语义相似度、文本分类、信息检索等任务上表现优异,特别适合财务领域的专业术语理解。

(4)向量相似度计算:采用余弦相似度计算向量间相似性:\text{cosine}(\mathbf{a}, \mathbf{b}) = \frac{\mathbf{a} \cdot \mathbf{b}}{||\mathbf{a}|| \cdot ||\mathbf{b}||}。为提升计算效率,对向量进行 L2 归一化预处理,将余弦相似度转换为内积计算。


★ 数据库架构

(1)MySQL 关系型数据库:采用 MySQL 8.0 存储结构化的财务数据。

(2)Weaviate 向量数据库:Weaviate 是开源的向量数据库,采用 HNSW(Hierarchical Navigable Small World)图索引算法构建向量索引,构建时间复杂度O(n log n),查询时间复杂度O(log n)。支持语义搜索和混合检索(向量+关键词),提供 GraphQL 查询接口,单节点可存储千万级向量。

(3)Neo4j 图数据库:Neo4j 4.4 存储知识图谱数据,采用属性图模型,使用 Cypher 查询语言,支持复杂图遍历和模式匹配,图遍历算法包括 广度优先搜索、深度优先搜索、最短路径 等。实施图分片策略,单个分片包含 100 万节点,支持水平扩展。图查询性能通过索引优化,平均查询时间 100ms。


★ 检索增强生成(RAG)

(1)RAG 原理:RAG 结合了检索系统和生成模型的优势,通过检索相关文档片段为生成模型提供外部知识支持。工作流程包括:文档预处理 → 向量化存储 → 查询检索 → 上下文增强 → 答案生成。这种架构有效解决了大模型知识截止时间限制和幻觉问题。

(2)知识库构建流程

  • 文档解析:使用 MinerU 框架解析 PDF、Word、Excel 等格式文档,提取文本、表格、图像信息;

  • 文本分块:采用智能分块策略,根据文档结构(章节、段落、句子)进行层次化切分。采用父子分块策略,将长文档分为父块(较大粒度)和子块(较小粒度),父块保留完整语义上下文,子块提供精确匹配。检索时先匹配子块确定相关性,然后返回对应的父块内容,平衡检索精度和上下文完整性。父块大小 4000 tokens,子块大小 1024 tokens;

  • 向量化存储:使用 Weaviate 向量数据库存储文档向量,支持 HNSW 索引算法,检索时间复杂度为 O(log n)

(3)多路召回策略

  • 关键词召回:基于 BM25 算法进行稀疏检索,计算公式为\text{score}(D,Q) = \sum_{i=1}^{n} \text{IDF}(q_i) \cdot \frac{f(q_i,D) \cdot (k_1+1)}{f(q_i,D) + k_1 \cdot (1-b+b \cdot \frac{|D|}{\text{avgdl}})}

  • 语义召回:基于 bge-m3 模型进行稠密检索,将文本转换为 1024 维向量,通过余弦相似度进行检索;

  • 图召回:基于 Neo4j 图数据库进行知识图谱检索,支持多跳推理和复杂关系查询。

(4)重排序策略:使用 BGE-Reranker-V2-M3 重排序模型,其采用 Cross-Encoder 架构,将查询和候选文档拼接输入模型,输出相关性分数。模型参数量 560M,支持中英文重排序,Top-10 准确率达到 85.2%。


★ 知识增强生成(KAG)

(1)KAG 架构设计:KAG(Knowledge Augmented Generation)结合知识图谱的结构化知识和大模型的生成能力,通过图神经网络编码知识图谱信息,增强文本生成质量。相比传统 RAG,KAG 能够进行多跳推理和复杂关系查询。KAG 架构包含知识图谱编码器、文本编码器、融合层和生成器四个核心组件。

(2)知识图谱构建:使用 Neo4j 图数据库存储财务领域知识图谱(实体、关系和属性),包含 10000+ 实体节点和 50000+ 关系边。实体类型包括:政策法规、会计科目、税务条款、业务流程等。关系类型包括:属于、包含、依赖、影响等。

(3)图神经网络编码:采用 GraphSAGE 算法进行图嵌入学习,节点表示更新公式:h_v^{(l+1)} = \sigma(W^{(l)} \cdot \text{CONCAT}(h_v^{(l)}, \text{AGG}(\{h_u^{(l)}, \forall u \in \mathcal{N}(v)\}))),其中\mathcal{N}(v) 为节点v的邻居集合。

(4)多跳推理机制:实现基于图谱的多跳查询,支持复杂的财务业务逻辑推理。查询路径规划使用 Cypher 查询语言,支持 1-3 跳的关系查询。

(5)知识融合策略:将图谱查询结果与文档检索结果进行融合,采用 注意力机制 计算不同知识源的权重,最终生成综合性回答。


★ 多模态集成

(1)ASR :集成阿里达摩院开源的 SenseVoiceSmall 模型,采用 Conformer 架构结合 CTC 和 Attention 机制。模型参数量 220M,支持中英文混合识别,识别准确率达到 95.2%。模型采用流式解码,实时率(RTF)小于 0.1,识别延迟 < 200ms。

(2)TTS:自研 TTS 引擎基于 VITS 模型,支持多说话人,音频采样率 24k,MOS 评分 4.3,合成延迟 < 500ms。

(3)OCR:使用 MinerU 框架提供 OCR 能力,支持财务票据、合同文档等复杂版面的文字识别。文字识别准确率 94.3%,版面分析准确率 91.5%, 处理延迟 < 5s。


★ 提示词工程

(1)提示词模板设计:设计 多层次提示词 模板,包含系统提示(定义 AI 助手角色和行为准则)、任务描述(明确具体任务要求)、上下文信息(提供相关背景知识)、输出格式(规范回答结构)等,并针对不同类型的财务问题定制专属优化提示词。提示词总长度控制在 4000 tokens 以内,确保模型理解准确性。

(2)Few-shot 学习策略:在提示词中包含 3-5 个高质量示例,展示期望的输入输出格式,帮助模型理解任务模式。

(3)思维链(CoT)技术:引导模型进行逐步推理,提示词格式为:"让我们一步步思考:1. 分析问题类型;2. 识别关键信息;3. 查找相关知识;4. 推理得出结论"。CoT 提示能够显著提升复杂推理任务的准确率。


★ 智能体(Agent)与工作流

(1)智能体架构设计:基于 ReAct(Reasoning and Acting) 框架构建智能体,结合推理和行动能力,包含感知、推理、规划、执行四个核心模块,通过思维链进行复杂推理,能够根据环境反馈调整行为策略。

(2)意图识别智能体:基于 BERT 分类模型构建意图识别器,支持 20+ 种财务意图类型(报销、税务、合同、审计等)。模型在自建意图数据集上的准确率达到 94.3%。意图识别流程:文本预处理 → 特征提取 → 分类预测 → 置信度评估。

(3)多轮交互问答工作流:基于 Dify 平台搭建多轮交互问答工作流,通过多轮追问、反问的方式进行问题补全,引导用户提供所需信息,综合考虑多轮问答记录进行问题抽象概括,实现更全面、准确的问题解答。

(4)工具调用机制:智能体支持调用外部工具,包括数据库查询、API 接口、计算器等。工具调用基于 Function Calling 技术,模型能够生成结构化的工具调用指令。


★ 模型上下文协议(MCP)

(1)MCP 协议架构:MCP(Model Context Protocol)是连接大模型与外部数据源的标准化协议,采用客户端-服务器架构。协议定义了资源发现、工具调用、上下文管理等标准接口,支持 JSON-RPC 2.0 通信协议。

(2)MCP 服务器实现:自建 MCP 服务器提供财务数据查询能力,支持 MySQL 关系型数据库连接。服务器实现了 list_resources​、read_resource​、list_tools​、call_tool​ 等标准接口,支持 SQL 查询、数据聚合、报表生成等功能。

(3)数据安全机制:MCP 服务器实施严格的权限控制,支持基于角色的访问控制(RBAC)。SQL 查询采用参数化查询防止注入攻击,敏感数据采用 AES-256 加密存储,传输过程使用 TLS 1.3 加密。

(4)性能优化策略:实施连接池管理,最大连接数 100,连接超时 30 秒。采用查询缓存机制,热点查询缓存命中率达到 78%。支持异步查询处理,单个查询超时时间 10 秒,支持查询结果分页返回。


★ 指令微调与 LoRA 训练

(1)MiniMind 模型架构:MiniMind 是轻量级语言模型,参数量 26M,基于 Transformer 架构,包含 8 层解码器,隐藏维度 512,注意力头数 8,支持 2048 上下文长度。模型专门针对中文优化,训练数据包含 10B tokens。微调后在财务问答任务上准确率提升 12%。

(2)微调数据集构建:从知识库中提取 1.5w 条高质量财务业务问答对,数据格式为:{"instruction": "用户问题", "input": "上下文信息", "output": "标准答案"}​。数据经过质量筛选和去重处理,确保高质量训练。

(3)指令微调原理:指令微调(Instruction Tuning)通过在指令-回答对数据上进行监督学习,提升模型遵循指令的能力。损失函数为:\mathcal{L} = -\sum_{i=1}^{N} \log P(y_i | x_i, \theta),其中x_i为指令,y_i为期望回答。

(4)LoRA 低秩适应:LoRA(Low-Rank Adaptation)通过在预训练模型的线性层中插入低秩矩阵进行微调。对于权重矩阵 W \in \mathbb{R}^{d \times k},LoRA 添加低秩更新:W' = W + BA,其中 B \in \mathbb{R}^{d \times r},A \in \mathbb{R}^{r \times k},r << min(d,k)

(5)训练超参数设置:学习率 2e-4,批次大小 16,训练轮数 3,LoRA 秩 r=16,LoRA alpha=32,dropout=0.1。使用 AdamW 优化器和 余弦退火 学习率调度。


1

评论区