案例十一:基于大模型进行报告审核
案例概述
本案例根据《勘察报告》与《岩土参数汇总表》,由大模型对照报告 3.2 节地基土描述与参数汇总表,审查 4.4 节「地基土层主要岩土设计参数值表」及 5.2 节「地基土层桩基设计参数」的取值是否合理,并输出审查报告。
你将学到
在 PipeLine 中连接「Word 转 Markdown、章节节选、大模型推理」等模块,在本地生成报告审查结论。
用
DocxToMarkdown将 Word 文档转为 Markdown,result_key_name供下游占位符引用。用
MarkdownSectionFilter的include_number_prefixes按章节号节选报告内容。用
MergeResultModels合并报告节选与参数汇总表,PromptTemplate组装审查提示词。用
LLMNode调用大模型生成审查结论,TextWriter输出.md文件。
实现思路
创建
DocxToMarkdown,分别将《勘察报告》与《岩土参数汇总表》转为 Markdown。用
MarkdownSectionFilter从勘察报告中节选 3.2、4.4、5.2 节。用
MergeResultModels合并报告节选与参数汇总表两个ResultModel,PromptTemplate填入{survey_sections}与{param_reference}。LLMNode对照 3.2 节描述与参数汇总表,审查 4.4、5.2 节设计参数合理性。TextWriter将审查报告写入 workspace,return_results_config暴露输出文件。
关键代码
本例关键在于 Word 转 Markdown、章节节选与大模型审查链路,对应代码如下。
report_sections = MarkdownSectionFilter("ReportSectionPick")
report_sections.include_number_prefixes = ["3.2", "4.4", "5.2"]
report_sections.filtered_markdown_key = "survey_sections"
merge_context = MergeResultModels("MergeReviewContext")
merge_context.add_dynamic_ports_in("InputSurveyModel")
merge_context.add_dynamic_ports_in("InputParamModel")
prompt = PromptTemplate("ReviewPrompt")
prompt.template = (
"请审查第 4.4 节与第 5.2 节设计参数...\n\n"
"{param_reference}\n\n{survey_sections}"
)
llm = LLMNode("ParamReviewLLM")
llm.model = "qwen3.5-plus"
pipeline.add_links(
doc_survey_md.OutputMarkdown >> report_sections.InputMarkdown
| report_sections.OutputResultModel >> merge_context.InputSurveyModel
| doc_params_md.OutputResultModel >> merge_context.InputParamModel
| merge_context.OutputResultModel >> prompt.InputValues
| prompt.OutputPrompt >> llm.InputPrompt
| llm.OutputReply >> write_report.InputText
)
pipeline.run()
更进一步
完整代码请查看以下链接: