Ollama + ChatGLM3-6B-128K构建智能审计助手:财务凭证异常检测与审计底稿生成

Ollama + ChatGLM3-6B-128K构建智能审计助手:财务凭证异常检测与审计底稿生成 Ollama ChatGLM3-6B-128K构建智能审计助手财务凭证异常检测与审计底稿生成想象一下审计师小李正面对堆积如山的财务凭证和报表他需要逐张核对、分析异常、撰写底稿。这个过程不仅耗时耗力还容易因为疲劳而遗漏关键风险点。传统审计工作尤其是面对海量财务数据时对人工的依赖度极高效率和质量都面临挑战。现在情况正在改变。借助开源的ChatGLM3-6B-128K大语言模型和便捷的Ollama部署工具我们可以构建一个专属的“智能审计助手”。这个助手能做什么它能像一位经验丰富的审计专家一样快速阅读和理解财务凭证文本自动识别其中的异常交易甚至能根据分析结果帮你生成结构清晰的审计底稿初稿。本文将带你一步步实现这个想法。我们将从零开始使用Ollama部署ChatGLM3-6B-128K模型然后聚焦于两个核心的审计应用场景财务凭证的智能异常检测和审计底稿的自动化生成。你会发现将前沿的AI技术融入传统的审计流程并没有想象中那么复杂却能带来实实在在的效率提升。1. 环境准备与模型部署在开始构建我们的智能审计助手之前我们需要一个强大的“大脑”——ChatGLM3-6B-128K模型以及一个方便我们调用它的“操作台”——Ollama。1.1 为什么选择ChatGLM3-6B-128K对于审计工作而言处理的数据往往不是简短的几句话。一份完整的审计报告、一叠关联的财务凭证描述、复杂的会计准则条文都可能构成很长的文本上下文。ChatGLM3-6B-128K的核心优势就在于其128K的超长上下文处理能力。这意味着什么呢简单来说你可以一次性把几十页的财务数据摘要、公司背景信息、相关审计准则全部“喂”给模型它都能记住并综合理解从而做出更准确、更符合上下文的判断。这对于需要关联大量信息的审计分析任务至关重要。此外ChatGLM3-6B作为新一代开源模型在语义理解、逻辑推理和代码执行方面都有显著提升并且原生支持“工具调用”这为我们未来扩展助手功能比如连接数据库查询具体数值留下了空间。1.2 通过Ollama一键部署模型部署大模型曾经是件麻烦事需要配置复杂的Python环境、解决各种依赖冲突。现在有了Ollama这一切变得非常简单。Ollama就像一个模型的“应用商店”可以帮你一键下载、安装和运行各种开源大模型。部署步骤找到Ollama模型入口在你的部署环境例如CSDN星图镜像广场提供的环境中找到Ollama的服务入口并点击进入。选择目标模型在Ollama的模型选择界面找到并选择EntropyYue/chatglm3这个模型。这个镜像已经集成了我们需要的ChatGLM3-6B-128K版本。加载并提问选择模型后系统会自动加载。加载完成后你会在页面下方看到一个输入框。在这里你就可以像和智能助手聊天一样向模型提问了。整个过程无需敲击任何命令行完全是图形化操作非常适合快速启动和实验。2. 构建财务凭证异常检测功能模型部署好了现在我们来打造第一个核心功能让AI学会识别财务凭证中的“可疑”之处。2.1 设计审计专家的“思维”提示词大模型本身并不懂审计。我们需要通过“提示词”来引导它告诉它什么是异常以及如何分析。这就像给AI一本审计手册和一套分析方法论。一个好的提示词应该包含以下几个部分角色设定明确告诉模型它现在是一名资深审计师。任务目标清晰说明需要它从凭证描述中找出哪些类型的异常。分析框架提供具体的异常分类和判断逻辑。输出格式要求模型以结构化的方式如JSON输出结果方便我们后续处理。下面是一个示例提示词模板你是一名经验丰富的财务审计专家。请仔细分析以下财务凭证摘要识别其中可能存在的异常或风险点并按照以下类别进行分类判断 凭证摘要[这里粘贴需要分析的凭证文本] 请按以下步骤进行分析 1. **交易合理性判断**该笔交易是否符合公司的常规业务范围金额与业务性质是否匹配 2. **关键信息缺失检查**摘要中是否缺少必要的要素如对方单位全称、具体事由、合同编号等 3. **高风险关键词识别**摘要中是否包含“咨询费”、“服务费”、“备用金”、“往来款”等模糊表述或涉及频繁往来的关联方 4. **会计处理合规性**根据摘要判断其计入的会计科目是否恰当例如应计入“业务招待费”还是“会议费”。 请以JSON格式输出你的分析结果包含以下字段 - is_abnormal: (布尔值True/False整体是否异常) - abnormal_categories: (数组列出触发的异常类别如[“交易不合理”, “信息缺失”]) - reasoning: (字符串详细说明判断理由) - risk_level: (字符串“高”、“中”、“低”) - audit_suggestion: (字符串给审计人员的进一步核查建议)2.2 实战让AI分析真实凭证让我们用一个具体的例子来测试。假设我们有一条凭证记录“2023年12月25日支付给XX科技咨询有限公司技术咨询费500,000元凭证摘要仅为‘咨询费’。”我们将这条摘要填入上面的提示词中发送给部署好的ChatGLM3-6B-128K模型。模型经过“思考”可能会返回如下结果{ “is_abnormal”: true, “abnormal_categories”: [“交易合理性存疑”, “关键信息缺失”, “高风险关键词”], “reasoning”: “1. 交易合理性年末大额支付咨询费需关注其商业实质是否与公司当期研发活动匹配。2. 信息缺失摘要过于简单未说明具体咨询内容、服务期限、成果交付标准不符合财务规范。3. 高风险关键词‘咨询费’属于审计中需重点关注的高风险模糊费用类别。”, “risk_level”: “高”, “audit_suggestion”: “建议审计人员1. 调取与该公司的咨询合同或协议检查服务内容、定价依据及成果交付证明。2. 核查付款审批流程是否完整。3. 考虑执行函证程序向XX科技咨询有限公司确认该笔款项及服务真实性。” }看AI助手不仅标记了异常还清晰地解释了原因并给出了可操作的审计建议。这相当于一位初级审计员完成了初步筛查和风险提示工作。2.3 批量处理与集成思路单条分析演示了能力但实际审计需要处理成百上千条记录。我们可以通过编写一个简单的Python脚本实现批量自动化分析。import requests import json import pandas as pd # Ollama API 端点 (根据实际部署地址调整) OLLAMA_API_URL “http://localhost:11434/api/generate” # 2.1 中定义的提示词模板 PROMPT_TEMPLATE “””你是一名经验丰富的财务审计专家... [此处省略完整提示词] ...凭证摘要{voucher_summary}””” def analyze_voucher(summary): 调用Ollama ChatGLM3模型分析单条凭证摘要 full_prompt PROMPT_TEMPLATE.format(voucher_summarysummary) payload { “model”: “chatglm3” # 与Ollama中拉取的模型名一致 “prompt”: full_prompt, “stream”: False, “options”: { “temperature”: 0.1, # 低温度让输出更确定、更专业 “num_predict”: 1024 # 控制生成长度 } } try: response requests.post(OLLAMA_API_URL, jsonpayload) response.raise_for_status() result response.json() # 模型回复的完整文本在‘response’字段中 reply_text result.get(‘response’, ‘’) # 尝试从回复中解析JSON部分模型可能除了JSON外还有额外说明 # 这里需要一个简单的解析器来提取JSON为简化示例假设回复就是纯JSON analysis_result json.loads(reply_text.strip()) return analysis_result except Exception as e: print(f“分析凭证‘{summary[:50]}...’时出错 {e}”) return {“error”: str(e)} # 模拟批量凭证数据 voucher_data pd.DataFrame({ ‘voucher_id’: [‘FV202312-001’ ‘FV202312-002’ ‘FV202312-003’], ‘summary’: [ ‘2023年12月25日支付给XX科技咨询有限公司技术咨询费500000元凭证摘要仅为“咨询费”。’, ‘报销市场部李四差旅费往返北京至上海机票、住宿、餐饮合计5280元附行程单及发票。’, ‘向关联方公司同一控制人借款1000000元摘要写“资金拆借”年利率2%低于市场水平。’ ] }) # 批量分析 results [] for idx, row in voucher_data.iterrows(): print(f“正在分析凭证 {row[‘voucher_id’]}...”) analysis analyze_voucher(row[‘summary’]) analysis[‘voucher_id’] row[‘voucher_id’] results.append(analysis) # 将结果转换为DataFrame并保存 results_df pd.DataFrame(results) results_df.to_csv(‘audit_voucher_analysis_results.csv’ indexFalse) print(“批量分析完成结果已保存。”)这个脚本可以读取一个包含所有凭证摘要的Excel或CSV文件逐条发送给我们的AI助手进行分析最后将所有结果包括异常标记、风险等级和建议汇总输出极大提升了初步风险筛查的效率。3. 实现审计底稿自动化生成检测出异常后下一步就是将这些发现整理成规范的审计底稿。这部分工作文档性强格式固定正是AI擅长的领域。3.1 定义底稿结构与内容模板一份典型的审计底稿如实质性程序底稿可能包含以下部分审计目标执行的审计程序抽取的样本详情发现的异常情况审计结论交叉索引我们可以为不同类型的底稿如货币资金底稿、费用底稿创建更精细的Markdown或Word模板。然后让AI根据前面异常检测的结果以及我们提供的财务数据背景来填充这个模板。3.2 结合上下文生成专业底稿ChatGLM3-6B-128K的长文本优势在这里再次凸显。我们可以把以下信息组合成一个超长的提示词上下文底稿模板规定好结构和格式。公司基本信息和审计期间。批量异常检测的结果汇总即上一节的输出。相关的会计准则摘要。然后指示模型“请根据提供的公司信息、审计发现以及会计准则填写以下审计底稿模板。”模型在理解了全部上下文后就能生成一份内容详实、引用准确、逻辑连贯的底稿初稿。审计师的工作就从“从零开始撰写”变成了“审核和润色AI生成的初稿”并专注于需要更高职业判断的复杂领域。3.3 示例生成费用审计底稿片段假设我们针对“咨询费”异常需要生成底稿。我们可以给模型这样的指令背景审计客户为ABC科技有限公司审计期间为2023年度。在凭证抽查中发现多笔大额“咨询费”支付给不同供应商摘要信息不全存在较高风险。 异常发现汇总 1. 凭证FV202312-001: 支付XX科技咨询公司50万元摘要仅“咨询费”无合同。 2. 凭证FV202309-015: 支付YY管理顾问公司30万元摘要“项目咨询”未见成果报告。 ... 请根据以上背景及发现撰写《管理费用-咨询费实质性程序审计底稿》中“审计发现及结论”部分。要求语言专业、条理清晰、引用具体凭证号、指出违反的内部控制点或会计准则原则并给出初步审计结论。模型基于其内化的财务知识和我们提供的具体信息可能会生成如下段落四、审计发现内部控制缺陷经抽查公司财务部门在支付大额咨询费用前未严格执行合同与付款审批核对流程。例如凭证FV202312-001支付XX科技咨询公司50万元后附单据中未见相关服务合同违反了公司《资金支付管理办法》第五条关于“凭有效合同付款”的规定。会计记录不完整多笔咨询费凭证摘要信息过于简略如仅“咨询费”未清晰反映交易的经济实质不符合《企业会计准则——基本准则》第十二条“企业应当以实际发生的交易或者事项为依据进行会计确认、计量和报告”的要求影响财务报表使用者理解。商业实质存疑部分咨询交易发生在报告期末且与供应商均为首次合作未能提供足以证明服务已真实、有效提供的证据如FV202309-015存在通过虚构咨询费用调节利润的风险。五、初步审计结论管理费用中的咨询费项目存在重大错报风险。主要风险领域为费用的真实性与完整性。建议将咨询费识别为关键审计事项并扩大审计范围执行包括但不限于向主要供应商函证、检查全部大额咨询合同、对管理层进行访谈等进一步审计程序。这样的输出已经具备了很高的可用性为审计师节省了大量的文档编制时间。4. 总结从工具到助手通过Ollama部署ChatGLM3-6B-128K并围绕审计场景设计提示词和流程我们成功构建了一个具备初步能力的智能审计助手原型。它展现了在财务凭证智能初筛和审计底稿辅助生成两个环节的应用潜力。这个实践带来的核心价值效率提升将审计人员从重复、繁琐的机械性审查和文档工作中解放出来。风险覆盖AI可以不知疲倦地扫描所有凭证摘要降低因人为疏忽导致的检查风险。能力标准化将资深审计师的经验通过提示词“固化”下来辅助初级人员快速上手提升团队整体作业质量。当前方案的局限与展望依赖提示词质量AI的表现很大程度上取决于我们设计的“提示词”是否精准、全面。这需要深厚的审计专业知识。无法直接处理非文本数据当前的助手主要处理文本摘要。要分析完整的财务报表数字勾稽关系需要结合代码解释器或检索增强生成技术让模型能“看到”结构化数据。需要人工复核AI是强大的助手而非替代者。所有AI的发现和结论都必须由审计师进行专业复核和最终判断。未来的进化方向可能是打造一个“审计智能体”它可以自动连接财务数据库、读取凭证影像、分析结构化报表并调用不同的工具计算、查询、绘图来完成复杂的审计程序最终生成完整的审计工作底稿包。而今天基于Ollama和ChatGLM3的探索正是迈向那个未来坚实的第一步。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。