4.7 微调实战案例:法律文本分析与代码审查应用
一、与《大模型应用开发极简入门》4.2.3 的对应
本书第4章 4.2.3 微调实战 明确列举:法律文本分析、代码审查、财务摘要、营销文案生成。本节选取其中法律文本分析与代码审查两个典型场景,给出数据形式、微调价值与实现要点,与书中「微调实战」一一对应。
二、法律文本分析
2.1 场景
从合同条款中提取关键信息(如甲方、乙方、金额、期限、违约责任),输出结构化 JSON,便于下游系统入库或审批流程使用。
2.2 数据示例(JSONL 单条)
{"messages": [{"role": "system", "content": "你从合同中提取关键信息,仅输出JSON,不要其他文字。"}, {"role": "user", "content": "合同内容:甲方:A公司。乙方:B公司。合同金额:100万元。履行期限:2024年1月1日至2024年12月31日。"}, {"role": "assistant", "content": "{\"party_a\": \"A公司\", \"party_b\": \"B公司\", \"amount\": \"100万元\", \"period\": \"2024年1月1日至2024年12月31日\"}"}]}
2.3 数据规模与质量建议
- 至少数百条以上,覆盖不同合同类型(采购、劳务、租赁等)。
- 标注需一致:字段名、单位(万元/元)、日期格式统一。
- 可加入少量「无法从文中提取」的样本,assistant 输出
{"error": "未找到对应信息"},提升边界情况表现。
2.4 微调价值(书 4.2.3)
法律术语与格式高度专业化,通用模型易在字段名、单位、日期格式上不一致。微调后可提升提取准确率与格式一致性,减少后处理与人工复核成本。
三、代码审查应用
3.1 场景
根据代码片段与公司规范,生成审查意见(如安全、风格、性能、可读性),输出结构化结果(如「类别」「严重程度」「说明」「建议」)。
3.2 数据示例(JSONL 单条)
{"messages": [{"role": "system", "content": "你是代码审查助手,根据给定规范对代码给出审查意见,仅输出JSON数组。"}, {"role": "user", "content": "规范:禁止使用eval。代码:\nprint(eval('1+1'))"}, {"role": "assistant", "content": "[{\"category\": \"安全\", \"severity\": \"high\", \"message\": \"禁止使用eval\", \"suggestion\": \"改用ast.literal_eval或直接计算\"}]"}]}
3.3 数据来源与多样性
- 来源:历史 Code Review 记录、内部规范文档 + 人工或半自动构造(代码+规范 → 期望审查结果)。
- 多样性:不同语言(Python、JS等)、不同违规类型(安全、风格、性能),避免只覆盖单一类型。
3.4 微调价值(书 4.2.3)
企业代码规范各异,通用模型难以稳定遵循内部规范与术语。微调可适配内部规范与表述,使审查结果风格统一、类别与严重程度与现有流程一致。
四、通用流程回顾
两个案例均遵循 4.6 节流程:数据准备(格式+质量)→ 转 JSONL → 上传 → 提交训练 → 监控 loss → 评估格式符合率与任务指标。法律场景侧重字段完整与合规表述;代码审查侧重类别、严重程度与建议的可操作性。
五、与提示工程的取舍
若数据量有限或任务变化频繁,可先用提示工程(角色+少样本+JSON 约束)试跑;当格式符合率或领域术语满足不了需求时,再投入数据做微调。书中 4.2.4「成本与权衡」与 4.3 小结中的「组合策略、场景选型」与此一致。
六、书中另外两个实战场景的简要说明(4.2.3)
书中 4.2.3 还提到财务摘要与营销文案生成,可作为扩展方向:(1)财务摘要:输入为报表、公告等长文本,输出为固定结构的摘要(如关键指标、风险提示、结论),数据格式与法律文本类似,均为「长文本 → 结构化 JSON/段落」;(2)营销文案生成:输入为产品信息与风格要求,输出为广告语、推文等,更偏创意与风格一致性,微调时可侧重语气、长度与品牌话术。二者与法律、代码审查一样,都强调领域一致性与格式稳定,按 4.6 节流程准备数据与评估即可。
七、数据构造与标注成本
法律与代码审查的微调数据通常需领域人员参与:法律条款提取需法务或合同管理员标注关键字段,代码审查需资深开发按内部规范写出期望的审查结果。标注成本是微调立项时的重要考量。可采取折中方案:(1)先收集历史已有标注(如历史合同解析结果、Code Review 评论),清洗后转为 JSONL;(2)用通用模型生成初版标注,再由人工抽检与修正,降低纯人工标注量;(3)先在小规模数据上微调验证效果,再决定是否扩大数据投入。书中 4.2.3「微调实战」与 4.2.4「成本与权衡」均强调数据质量与成本,本节两个案例是典型的高质量数据场景,适合作为团队首次微调的试点。
八、小结
法律文本分析与代码审查是书中 4.2.3「微调实战」的典型应用。通过高质量标注数据与统一格式,微调可显著提升领域适配性与输出稳定性。第四章完结,下一章将进入 LangChain 与 RAG 系统构建。读者可任选法律或代码审查其一,按本节数据示例与 4.6 节流程跑通一次完整微调,再类比扩展到财务摘要或营销文案,即可掌握书中「微调实战」的全貌。
九、与第 5 章 LangChain、RAG 的衔接
微调得到的模型可在 LangChain 中作为自定义 LLM 使用:用 OpenAI 的 base_url 或 model 指定 fine_tuned_model ID,即可在 5.2 节链、5.5 节 RAG、5.6 节 Agent 中调用。法律提取、代码审查等若需结合 RAG(如先检索合同模板再提取),可将微调模型与 RAG 管线组合:检索结果注入上下文,模型负责结构化输出,与 5.4、5.5 节架构一致。书中第 4 章微调与第 5 章框架、RAG 的衔接点即在于:微调解决「领域与格式」,RAG 解决「知识范围」,二者可同时使用。
十、小结(复述)
法律文本分析与代码审查对应书中 4.2.3 微调实战;数据格式、质量与流程遵循 4.6 节。掌握二者后可按同样模式扩展财务摘要、营销文案等场景,并与第 5 章 LangChain、RAG 组合使用,形成「领域模型 + 知识检索」的完整方案。书中 4.2.3 还提到财务摘要与营销文案生成:财务摘要为长文本→结构化摘要,数据形式与法律类似;营销文案更偏创意与风格,微调时可侧重语气与品牌话术。二者均强调领域一致性与格式稳定,按 4.6 节流程准备数据与评估即可扩展。
第四章完结。下一章:第五章 LangChain与RAG系统构建