简介:《面向工程审计行业的DeepSeek大模型应用指南》由南京审计大学工程审计学院等机构编写,面向具备一定审计基础的审计人员、项目经理、工程师等专业人士,旨在解决工程审计中数据爆炸、场景复杂、标准多元等难题。文档从DeepSeek基本原理、核心功能与使用方法讲起,逐步延伸到在线使用、本地部署(Ollama、deepseek-r1:8b、AnythingLLM)及工程审计知识扩展,并结合法律法规自动解读、智慧造价、招投标文件生成、智慧成本测算、工程量自动计算等场景给出可操作提示词工程方法。资源为单个PDF文档,约3.84MB,目录按章节组织,涵盖前言、DeepSeek赋能工程审计、概述、使用方法、提示词工程等模块,便于逐章阅读与按需查阅。目前已有83人学习下载。读者可借此系统掌握DeepSeek在工程审计中的应用路径,同时学习知识扩展与提问技巧,并通过人工审核机制保障结果可靠性,是一份兼顾理论框架与实务操作的行业指南。
1. DeepSeek与工程审计:智能化转型的第一个落地支点
工程审计正在面对一个不争的事实:数据在爆炸,规则在叠加,人手的判断却跟不上。我第一次看到这份面向工程审计行业的DeepSeek大模型应用指南时,最触动我的不是模型参数,而是它把“基于DeepSeek大模型的智能化审计系统设计”从概念推到了可复现的操作层面。DeepSeek大模型不是要把审计师替换掉,而是把法条解读、造价编制、招投标文本这类高重复度工作先接下来。适合谁?正在被结算报告和台账淹没的审计一线人员,以及想给团队搭本地推理环境的技术负责人。这篇笔记按我的拆解顺序写:原理、部署、提示词、场景、坑,最后给一个能直接跑的API脚本。
2. DeepSeek原理与部署:MoE架构如何影响审计选型
2.1 MoE混合专家架构:路由机制与审计任务的对应
DeepSeek采用混合专家(MoE)架构,核心思想不是用一个巨无霸模型处理所有请求,而是用一个路由组件把输入分发给一组子专家。指南里的比喻很直白:MoE就像一个大专家团队,团队里有很多不同领域的专家,每个专家是一个小神经网络;当你提一个问题时,GateNet决定把问题交给哪个或哪些专家。比如数学问题交给擅长数学的专家,法规问题交给擅长文本语义的专家。这样既保留了模型容量,又控制了每次推理的计算量。
对工程审计来说,这个设计带来的实际价值是效率与成本的平衡。工程审计的问题域非常宽,法条检索偏语义相似,造价测算偏数值规律,招投标生成偏结构化文本;如果用同一个全量模型去跑所有任务,成本会失控,反馈也慢。MoE相当于在模型内部做了一次路由分流,让不同请求走不同专家通路。指南里也提到,DeepSeek具备多模态理解、动态推理与领域自适应能力,这些能力正是工程审计处理“数据爆炸、场景复杂、标准多元”这些挑战时最缺的东西。
应用层要理解两个组件:GateNet与Experts。GateNet的作用是判定输入样本由哪个专家模型接管;Experts则是一组相对独立的专家模型,每个专家负责处理特定输入子空间。我不是搞模型训练出身,但从应用角度理解,只需要知道一件事:DeepSeek不是所有任务用同样的算力,而是按路由结果走,这也是它能本地化部署、降低应用门槛的结构基础。V3是通用大模型,擅长多模态理解与广泛场景支持;R1是推理模型,擅长需要多步思考的复杂问题,比如审计问题里的因果推断和数学计算。
2.2 在线使用:注册、深度思考、联网搜索与文件上传
在线使用几乎零门槛。打开官网,点击首页的“开始对话”,用手机验证码或者密码登录就行。登录后界面左侧是历史对话区,右侧是主体输入区,输入框集成了三个实用功能:深度思考、联网搜索、上传附件。工程审计人员上手前,先理解这三个开关各自的作用,比急着提问更重要。
深度思考对应DeepSeek-R1的推理能力。审计里的多步问题,比如“分析某项目结算金额超合同金额的构成与可能原因”,这类问题需要模型先拆解,再逐步判断,这时候打开深度思考会得到更完整的推理链,而且能看到模型的完整思考过程,方便审计人员检查思路有没有跑偏。指南里有一个细节值得注意:DeepSeek鼓励用简洁指令聚焦目标,启发式提示词反而可能干扰逻辑主线;而逻辑分析类问题,应该尽量直接抛出复杂问题,不要替模型规划步骤。这和很多人的使用习惯正好相反。
联网搜索用来获取实时信息,比如地区定额调整、材料信息价这类动态数据。工程审计依赖的规范有时效性,联网搜索能补上模型训练数据截止日之后的空白。文件上传是最常用的功能,支持txt、pdf、docx等文本类文件,工程预算书、结算报告、合同扫描件都能传。不过文件大小限制要留意:服务器存储有限、带宽有限、上下文token数量有限,文件过大会直接影响处理效果。大文档不要整个传,先切成章节,或者提炼关键数据段再传。
提示:上传工程文件前,先判断是否包含个人身份信息、银行账户、未公开的施工成本明细等。脱敏是审计数据进入在线大模型前的基本动作。
2.3 本地部署:Ollama拉取DeepSeek-R1的完整命令
本地部署适合数据敏感、不允许出内网的项目。指南推荐的路径是Ollama加AnythingLLM。Ollama是开源的大语言模型服务工具,能把模型权重、配置和数据捆绑在一起,在本地运行推理,支持GPU加速,也提供命令行和API。安装和拉取模型的常用做法如下:
# 安装Ollama,Linux/macOS一键脚本,Windows在官网下载安装包 curl -fsSL https://ollama.com/install.sh | sh # 拉取8B参数的DeepSeek-R1量化模型 ollama pull deepseek-r1:8b # 启动交互式对话 ollama run deepseek-r1:8b第一条命令会把Ollama装到系统里,本质是拉起一个本地服务。ollama pull会从模型仓库下载权重,默认存到~/.ollama/models,磁盘紧张时可以设置环境变量OLLAMA_MODELS改到数据盘。ollama run进入交互模式后,可以直接在终端问问题;对外提供API时,Ollama默认监听11434端口,本地程序通过HTTP调用。Ollama支持GPU热加载,模型启动后只要显存放得下,推理速度明显优于纯CPU。
硬件参数要提前核对。指南给了一张DeepSeek-R1系列的硬件需求表,我压缩成决策用的版本:
| 模型 | 内存要求 | 硬盘要求 | 显卡建议 |
|---|---|---|---|
| DeepSeek-R1-1.5B | 8GB及以上 | 3GB以上 | 纯CPU可跑,可选4GB显存 |
| DeepSeek-R1-7B/8B | 16GB及以上 | 8GB以上 | 建议RTX 3070或4060 |
| DeepSeek-R1-14B | 32GB及以上 | 15GB以上 | 建议RTX 4090或A5000 |
| DeepSeek-R1-32B | 64GB及以上 | 30GB以上 | 建议A100 40GB,或双卡RTX 3090 |
选型逻辑是这样的:纯CPU推理时完全不看显卡,但速度慢;用GPU加速时,显存大小直接决定能不能跑。7B和8B参数相近,8B性能略高,硬件要求也略高一点。如果只是日常问答、法条检索,1.5B跑起来很轻快;要做稍微深一点的法规分析,建议至少7B。16GB内存是消费级跑8B的起步线,另外模型下载约4.7GB,临时解压空间也要留足。我见过不少人拿着8GB内存的老笔记本试8B模型,系统直接卡死,这不是模型的问题,是硬件没按配置表核对。
2.4 在线与本地选型:数据边界与硬件边界
在线和本地不是简单二选一,主要看数据属性和硬件条件。在线模式零成本起步,适合不接触核心商业数据的项目前期调研;本地模式把模型权重放到内网,数据不出域,适合结算审计、成本核查这类需要接触敏感经营数据的场景。
本地部署的完整链路是Ollama加AnythingLLM。AnythingLLM负责提供界面和知识库,在设置里把模型提供商选为Ollama,指定deepseek-r1:8b,再新建一个工作区,把法规、定额、合同范本上传进去。这样DeepSeek回答时可以在本地知识库里先检索再生成,相当于给大模型配了一个企业私有参考库。多个审计人员共用一个内网部署实例,比各人开一个在线窗口更规范,也方便统一管理知识库版本。
这里有个常见的选型误区:很多人以为本地部署能解决一切,实际上本地模型的上下文窗口远小于在线模型,长合同要分段处理,知识库检索结果也可能带上旧版文件。在线模型强在通用能力和联网搜索,本地强在数据隔离。最合理的做法是两套并用:涉密数据走本地,公开规范研究走在线。指南强调DeepSeek“高效能与低成本”的特点降低了本地化部署门槛,这句话说到点子上了——门槛低不等于没有门槛,硬件配置表就是第一道门槛。
提示:内网服务器部署Ollama时,建议先确认安全组和端口策略,11434端口不要对公网开放,审计数据的安全边界比推理速度重要。
3. 提示词工程:APE到SCOPE九大模型的实战选择
3.1 九个提示词框架的分类与选用
指南第四章一口气列了九个提示词模型:APE、CARE、TRACE、TAG、SAGE、ROSES、RTF、SPAR、SCOPE。新手看到这一堆名字容易懵,我也不建议死记,按用途分类会清晰很多:
| 框架 | 功能定位 | 典型审计用法 |
|---|---|---|
| APE | 任务定位:行动、目的、期望 | 明确一次审计任务要做什么、为什么做、产出什么 |
| CARE | 上下文构建:背景、行动、结果、示例 | 把项目信息、合同背景、证据材料写进上下文 |
| TRACE | 系统性项目审计:任务、请求、行动、上下文、示例 | 复杂项目的完整审计方案生成 |
| TAG | 目标导向:任务、行动、目标 | 目标单一的短期核查任务 |
| SAGE | 战略性风险评估:情境、行动、目标、评估 | 项目前期风险识别与分级 |
| ROSES | 角色定位:角色、目标、场景、期望方案、步骤 | 让模型扮演造价工程师、法规专家 |
| RTF | 输出格式控制:角色、任务、格式 | 强制输出表格、JSON、清单 |
| SPAR | 问题导向:情境、问题、行动、结果 | 针对具体审计发现给出整改建议 |
| SCOPE | 全面系统:场景、复杂性、目标、计划、评估 | 竣工决算这类全面审计 |
这个表格的功能拆解是按指南的应用场景归纳的,实际使用时不需要每次套满全部要素。我的经验是:简单任务用一个框架就够,比如法条检索用APE;复杂项目用TRACE或SCOPE把上下文、任务、示例一次性铺开。提示词框架的真正作用不是增加字数,而是逼你把审计问题想清楚。框架之间也不排斥,可以组合,比如先用APE定位任务,再用CARE补上下文,最后用RTF管输出。组合使用时,按“任务→背景→格式”的顺序组织提示词,模型的理解成本最低。
3.2 任务定位与上下文构建:APE+CARE
APE管的是“这个任务到底要什么”。审计人员最常见的翻车现场,就是提了个大而空的问题,比如“帮我审一下这个项目”,模型只能回一套正确的废话。用APE改一下,结果完全不同:
行动:检索合同价款调整相关法律法规; 目的:判断固定总价合同在施工期因材料涨价申请调价是否合规; 期望:输出法律依据条文列表,并给出适用性判断。
CARE管的是“模型需要哪些背景”。工程审计和普通问答最大的区别是:同一个问题在不同合同模式、不同计价方式下结论完全不同。把项目性质、合同类型、工期、付款条件、施工阶段都写进上下文,模型才知道该按固定总价逻辑答,还是按可调价格逻辑答。下面这段是我在审计场景里常用的模板:
你是工程审计助理。项目背景:政府投资办公楼项目,建筑面积12000平方米, 框架结构,合同模式为固定总价,工期420天,现处于竣工结算阶段。 请分析施工方提交的结算中,材料调差金额超出合同约定是否合规。 输出要求:1)判断结论;2)依据条款;3)建议核查的原始凭证清单。这段提示词的逻辑是:角色设定收敛回答风格,项目背景限定判断场景,输出要求给出结构。最后一项“建议核查的原始凭证清单”是工程审计最该要的——模型不直接下结论,而是告诉审计人员去哪里核查。凭证清单可以直接转成审计底稿的线索,省掉了人工梳理问题的时间。实际用的时候,把背景段做成模板变量,不同项目替换关键字段,就能形成一套审计专用的提问模板。
3.3 角色与输出格式控制:ROSES+RTF
ROSES是角色定位模型,强调给模型一个明确的专业身份。工程造价、工程法规、财务审计三块知识体系差异很大,不设角色时模型会在几个体系间摇摆;让它扮演“熟悉《建设工程工程量清单计价规范》的造价工程师”,回答会更聚焦。角色设定不是为了让模型“入戏”,而是帮它在庞大的参数空间里锁定一类知识分布,减少无关领域的干扰。
RTF是输出格式控制,在工程审计里我用得最多。审计报告、核查底稿都有固定格式,自由文本反而增加人工整理成本。RTF的用法就是明确要求格式和字段:
请把以下结算数据整理成指定格式: 项目名称:xxx,合同金额:12000000元,结算金额:13500000元, 主要偏差项:材料调差、设计变更。 输出JSON:{"project_name":"xxx","contract_amount":12000000, "settlement_amount":13500000,"deviation_rate":0.125, "deviation_items":["材料调差","设计变更"]} 要求:金额保留两位小数,deviation_rate=(结算金额-合同金额)/合同金额。RTF的关键是给模型一个明确的样本结构,而不是只说“输出JSON”。模型对字段名的理解依赖你能给出多少约束;字段越具体,输出越稳定。工程审计团队如果想把大模型输出接入自己的业务系统,先用RTF把输出结构固定下来是第一步。注意别忽略公式说明,我在提示词里要求模型写明偏差率的计算方式,目的就是让数值可复算。
3.4 审计提示词的提问方式:简洁指令优于启发式引导
指南花了不少篇幅讲提问方式,核心观点值得单独拿出来说:DeepSeek鼓励用简洁指令聚焦目标,启发式提示词反而可能干扰它的逻辑主线。很多人习惯写“请一步一步思考”,但R1这类推理模型内部本身就有推理链路,外部强加步骤反而会破坏它的判断节奏。
对推理型问题,正确做法是直接把复杂问题砸过去。比如“分析工程量清单中土方开挖项目单价明显偏高的构成原因”,这句话本身包含了问题、对象、疑点,足够了。善用多轮追问也可以,但要放在模型完成主要输出之后,而不是一开始就设定完整思路。另一个容易被忽略的点是:多轮对话比一次性大提示词更符合审计工作流。第一轮让模型读取数据、清洗异常,第二轮做偏差识别,第三轮把偏差项按风险等级排序。每一轮输出都作为下一轮的输入,审计判断逐步收敛,而不是指望一次生成终极报告。这样做还有个好处:中间结果可以作为审计轨迹留存,符合审计留痕的要求。
4. 六大应用场景落地拆解:从法条检索到工程量计算
4.1 法条自动检索:从问题描述到条文输出
指南里的第一个场景是“工程审计问题相关法条自动检索”。工程审计最耗时间的环节之一就是查法条,每个问题可能涉及多部法规、多个版本,传统做法是人工翻阅或关键词检索,效率低且容易漏。DeepSeek能做的,是把“问题描述”直接映射到“可能相关的条文”,再把人工核对的工作量压到最小。
用DeepSeek实现自动检索的步骤是:先用APE把审计问题格式化,然后让模型按照“法规名称、条款编号、内容摘要、出处”的结构输出,最后人工核对原文。关键一步是:最好把涉及的法规原文作为附件先传进去,让模型基于原文提取,而不是让它凭记忆背条文。大模型对条款编号的记忆是概率性的,新旧版本混用是常态,直接让模型背诵条文会翻车。
这个过程适合用来做“初步筛选”,把可能相关的条文范围缩小,再交给法规人员做最终判断。审计报告里引用条文,必须回到原文核对,这是底线。比如“固定总价合同因材料涨价申请调价”这种问题,模型只要能列出计价规范、合同示范文本、相关司法解释这几个方向,审计人员顺着方向去查原文,效率已经比从零开始检索高很多。
4.2 智慧造价:历史数据驱动的造价编制与参考
智慧造价是指南里价值最高的场景。工程造价文件编制繁琐,影响因素多,指标类型复杂,导致从业人员工作强度高、效率低。不同工程项目之间造价存在规律性,DeepSeek可以基于历史项目的造价数据学习,自动得到新项目的参考造价。
我一般这样做:把已结算项目按“建筑面积、结构类型、层数、单方造价”整理成表格,让模型输出新项目的单方造价区间和造价编制大纲。比如一个12000平方米、框架结构的多层办公楼,模型会参考同区域同类工程给出区间值,还会提示“地基处理方式未知”“装修标准未明确”这类前提条件。推荐提示词如下:
以下是本区域近三年办公楼项目的造价数据: [粘贴历史造价表格] 请估算新建办公楼项目:建筑面积12000平方米,框架结构,地上8层。 要求:给出单方造价区间与总造价区间,列明影响区间的主要风险因素。这里有一个必须说清的边界:DeepSeek做的是参考估价,不是预算编制。造价工程师的价值在于依据定额、市场询价、施工方案做精确组价,大模型输出的是规律性判断。指南的定位也是“极大的提高编制效率和降低工作强度”,而不是取代造价工程师。把它当成一个能读历史数据、能生成清单框架的助理,效率和准确性都会有明显提升。数据样本越充足,模型的估算区间越窄;三五个样本时,模型会给一个很宽的区间,这是正常的,别指望少样本出高精度。
4.3 招投标文件生成:格式规范与内容防编造
招投标文件生成对DeepSeek来说没有技术障碍,但要防止它编造条件。招标公告、投标函、合同条款都是结构化文本,模型能写出像模像样的内容,但资质条件、评分标准这类关键信息必须由人给出。如果提示词里不约束,模型会自动“补全”一些听起来合理但实际不存在的资质要求,这在招投标场景里是硬伤。
我的提示词固定带一句“请勿编造未提供的资质条件”,这能有效压制模型自动补齐未知字段的倾向。除此之外,RTF格式控制在招投标场景特别有效:让模型的输出严格按招标公告通常包含的段落组织,生成后由招标代理复核。招投标文件涉及法律责任,机器草稿只是起点,但作为初稿生成工具,它能把反复修改的工作量砍掉不少。
4.4 成本测算、决算审计与工程量计算的边界
成本测算是在智慧造价基础上的动态监控。把每月的支付金额、完成产值、资金计划放进去,让模型识别“资金支付是否与工程进度匹配”。这个场景适合做成周期性的例行核查,每月一次,把台账导出成结构化数据再问DeepSeek。指南里举例说,可以利用每日资金流动数据分析资金使用异常、工程款支付与实际进度不匹配的问题,这就是典型的偏差识别任务。
决算审计是另一个高价值场景。指南说通过数据分析和模式识别对项目决算数据做全面审查,识别潜在风险和问题。我实际操作时的定位是“异常线索发现”:让模型从结算书中挑出单方造价异常的子目、与合同条款不符的计价规则,再由审计人员做核查。这样做的前提是:先把决算书转成结构化清单,而不是整本PDF丢进去。模型处理结构化清单时能给出明确的偏差率和疑点,整本PDF只会给你一堆泛泛的风险提示。
工程量计算的边界要特别讲清楚。DeepSeek不能直接理解图纸上的图形关系,更不能像算量软件那样按扣减规则识别构件。它能处理的是图纸里的文本信息,比如尺寸标注、构件列表、工程量清单。如果图纸是PDF且有可复制文字,可以让它提取工程量清单并做逻辑一致性检查;如果图纸没有文字层,就没什么办法。真正算量交给专业的算量软件,DeepSeek的价值在复核和解释。
提示:任何从图纸或结算书中提取的工程量数据,都应该回到算量软件或人工复核一次,大模型在这类任务上只适合做“第二双眼睛”,不适合当“计算器”。
5. 使用DeepSeek做审计的常见问题与避坑记录
5.1 数字幻觉:输出看起来很专业,但金额对不上
现象:让DeepSeek分析一个结算表,它给出了“成本节约120万元”“主要偏差率8.3%”这类精确结论,但回到原始台账核对,数字对不上。
原因:大模型本质是生成式补全,不是电子表格引擎;当数据量超过上下文注意力范围,或数据本身不在对话里时,模型会填一个看起来合理的数字。这是Transformer架构的通病,专业术语叫幻觉,在审计场景里是风险最高的坑。
解决:第一,所有金额类问题必须在提示词里写明“请列出计算式与原始数据”。第二,输入数据做成结构化表格,而不是长段落描述。第三,用脚本对模型输出做复算。我在下一章会演示这个流程。宁可多花时间校验,也不要直接采信模型给出的金额结论。
5.2 文件上传的隐私风险:结算报告不能随手传
现象:直接把含施工方银行账户、身份证复印件的结算报告传上了在线平台,后续项目被要求整改时才发现数据已经出域。
原因:在线对话的输入会经过模型服务端,文件内容离开了单位的网络边界。指南里明确提醒“在上传附件时确保数据隐私不被泄露”,这句话不是套话。工程审计文件里的施工方成本核算明细、银行账户信息都属于敏感数据,一旦泄露,责任比项目进度问题严重得多。
解决:先脱敏再上传,姓名、身份证号、银行账号用星号替换;涉及核心成本的敏感项目改用本地部署,用Ollama把模型跑在内网;如果必须走在线,优先选择平台已经公开的数据保护策略,并记录上传时间、文件范围,便于事后追溯。审计行业的合规要求很严格,数据出域这件事不能靠侥幸。
5.3 本地部署失败:显存不够、下载卡住、模型选错
现象:照命令拉取deepseek-r1:8b,运行时报内存不足,或者下载进度长时间不动,再或者模型跑起来了但每秒只出几个字。
原因:8B模型虽然参数不多,推理仍然需要16GB内存;显卡达不到要求时,模型退回CPU推理,速度慢到没法工作;下载卡住通常是网络问题;模型选错则是不看硬件表直接上了14B。
解决:先按硬件配置表核对内存和显存。8GB内存在跑8B模型时容易被系统吃掉,建议至少16GB;显卡显存不够时老老实实退到1.5B或7B。下载慢的话,设置OLLAMA_MODELS指向剩余空间较大的磁盘,或者用可断点续传的工具下载模型文件后再导入Ollama。很多翻车现场不是模型问题,是硬件问题。我自己就干过在8GB内存笔记本上跑8B模型的蠢事,卡到连终端都敲不动。
提示:Ollama的服务端口默认是11434。内网部署时只允许内网访问,不要把这个端口暴露到公网,否则等于把大模型服务开放给了外部。
5.4 输出格式不稳定:表格错位、长文本截断、JSON解析失败
现象:要求输出表格,结果是Markdown格式但列合并了;要求JSON,末尾多了一段文字导致json.loads直接报错。
原因:RTF格式控制只约束了“格式类型”,没有约束字段名和长度;大模型输出受token上限限制,长内容会在中途截断;模型在JSON末尾追加说明性文字,是它的表达习惯。
解决:在提示词里给出字段结构,尽量带上一个数据样例;生成内容太长时,让模型按批次分段输出;用脚本读取时,先截取代码块内的JSON文本再解析。把RTF当成接口契约来写,你约束得越细,输出越可控。如果模型多次不遵守格式,可以在提示词末尾加一句“只输出JSON,不要附加任何说明”,这招通常有效。
5.5 深度思考与普通对话结果不一致,到底信哪个
现象:同一个问题,不开深度思考时模型直接给结论,打开深度思考后给出了不同甚至相反的判断。
原因:普通对话走的是快速生成路径,深度思考走的是推理链路。模型在推理模式下会重新推演,可能在半路发现自己前面的结论站不住脚,于是修正输出。指南里说推理问答是R1的主要特点,在数学证明任务上直接提问无需分部引导,就是这个原因。
解决:涉及审计判断、金额核对、合规性分析的问题,一律打开深度思考。如果对比两类结果有分歧,把分歧点单独拎出来追问,让模型说明切换判断的理由。工程审计不能接受一个拍脑袋式的回答,深度思考相当于把模型的推导过程暴露出来,值得为这个过程多等几秒。但注意,推理链也不等于正确链,它只能作为参考,最终判断还是要以原始凭证和法规原文为准。
6. 进阶技巧:把提示词固化到Python脚本批量跑
6.1 一个成本偏差分析的API调用脚本
import requests def audit(api_key, system_prompt, user_content): """调用DeepSeek API做一次审计分析。""" resp = requests.post( "https://api.deepseek.com/chat/completions", headers={"Authorization": f"Bearer {api_key}"}, json={ "model": "deepseek-chat", "messages": [ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_content} ], "temperature": 0.1, "max_tokens": 2000 } ) resp.raise_for_status() return resp.json()["choices"][0]["message"]["content"] system = ("你是工程审计助手。对给定的结算数据识别成本偏差," "必须列出计算式与依据,并按JSON输出:" "{\"items\":[{\"name\":\"\",\"budget\":0,\"actual\":0," "\"deviation_rate\":0.0,\"reason\":\"\"}]}") result = audit(api_key, system, "项目:土方工程,预算:320000,结算:415000") print(result)这个脚本适合批量处理明细项。system角色把模型锁定成审计助手,temperature调到0.1让输出更稳定、少发散,max_tokens设2000保证结果不中途截断。实际使用时,把几百行台账循环传入,逐个项目分析,输出的JSON可以直接接进报表或底稿。模型名称以官方文档为准,不同时期可能有不同版本标识。
6.2 脚本的适用边界与留痕建议
这个脚本不是让你全自动出审计报告,模型输出只应作为待核验线索。数据量大时不要一条条拼接提示词,建议先清洗成干净表格,再按子目分批传入;token消耗也要算成本,几千行明细全量跑并不划算。运行结果建议原样存档,连同计算式一起归档,满足审计留痕要求。
我最早犯的错,是让模型直接生成“审计结论”。它输出得很漂亮,数字却对不上台账,我差点把那条结论写进报告。从那以后,凡是涉及金额的环节,我都强制走一遍脚本复算,提示词里明确要求“给出公式与原始数据”,并把模型输出当作线索而不是结论。这个习惯救了我好几次。希望帮到你。
本文还有配套的精品资源,点击获取