用扣子捏一个撰写传染病报告的Bot
来源:互联网
时间:2026-07-18 13:31:25
网友“上善若水”提供了一个特别有意思的案例。他是医疗行业的从业者,正在给卫健委做项目,其中有一个明确的刚需——根据各医疗机构上报的数据,自动生成一份结构化的传染病分析报告。他用Python代码结合DeepSeek大模型的API,自己动手搭了一个原型(顺便说一句,他的本职是项目经理,自学AI大模型并写出完整代码,这学习和动手能力确实让人佩服)。
基于这个思路,我用扣子平台复刻了一个类似的Bot。征得“上善若水”同意后,把整个实现过程整理出来,分享给有类似需求的朋友。
Bot的基本功能
从功能上看,这个Bot做的事情非常明确:根据各个医疗机构上报的数据,按照一份指定的报告模板,自动生成一个完整的Word文档。 报告模板长什么样?简单来说,除了固定的大小标题之外,每个段落的正文内容,以及需要展示的折线图,全部由AI生成。模板样例如下图所示:
功能分析
说到底,这个Bot的输入是医疗机构的数据,输出是一份完整的分析报告。报告模板分为4个主要部分,每个部分又包含多个小节。 举个例子,第一部分叫“医疗就诊情况分析”,下面包括就诊量分析、重点科室分析和趋势研判三个小节。前两个小节是从不同维度对数据进行拆解分析,第三小节则是基于前面分析做总结。整体逻辑跟写一篇专业分析文章差不多:先描述现象,再分析原因,最后给出判断和建议。 前三个部分分别从就诊情况、趋势变化、重点疾病角度进行剖析,第四部分则给出具体的防控建议。 整个流程中,输入和输出都非常明确,中间不需要额外的交互。核心任务就是编排好一个工作流,让各环节按部就班地跑起来。涉及的相关技术点
1. **数据分析**:假设输入的医疗数据是CSV文件(实际场景中可能量很大,应存放在数据库中,可能需要开发专用插件取数)。根据报告内容,需要分析不同维度的数据。目前主流大模型在数理逻辑推理方面的能力相对较弱,所以这部分数据分析直接用代码来实现(数据分析还可能涉及下钻,这不是本文的重点)。 2. **按指定格式生成报告内容**:使用few-shot提示词技术。整份报告分成若干部分,每个部分又包含多个段落。为了让生成的内容更加稳定可控,需要按段落分别调用大模型来生成,最后再拼装成完整的报告。 3. **折线图**:直接使用官方提供的图表大师插件。 4. **生成文档**:使用官方的DocMaker插件。工作流介绍
整体工作流大致如下(每个红框代表一个模块,下面逐一说明):数据分析
用一个代码节点来实现。它的输入参数包括一个URL(CSV文件地址)、开始日期和结束日期。输出内容包括报告中就诊量、重点科室、传染病趋势、症候群趋势、聚集性趋势、重点疾病等各小节需要使用的数据。根据具体的数据分析需求,代码逻辑可能会比较复杂,具体细节这里不展开讲了。第一/二/三部分
这三个部分互相之间没有依赖关系,可以并行生成,这样可以大大加快运行速度。 先看第一部分。它包含三个小节,前两个小节根据数据分析的结果生成段落内容以及对应的折线图,两个小节可以并行执行。第三小节则根据前两个小节的分析进行总结。 第一部分的第一个小节“就诊量”:段落内容用一个大模型节点生成,输入包括数据分析节点生成的就诊量数据。提示词中会加入“总结示例”,让大模型输出的内容格式符合要求。 折线图使用官方的图表大师插件生成。因为插件的参数较多、结构也相对复杂,所以每个折线图都用前置的代码节点来拼接参数。 第二小节与第一小节类似,不重复介绍了。第三小节是根据前两个小节的内容进行总结。 第二部分的结构与第一部分类似,也不赘述了。 第三部分是重点疾病分析,没有图表,直接用大模型节点生成即可,相对简单一些。第四部分
根据前三部分生成的内容,生成防控建议。用一个单独的大模型节点来完成。汇总生成报告
先使用一个文本处理节点,将前面各个部分生成的内容,按照报告模板的格式拼装成一个Markdown字符串。然后使用官方插件,创建docx文档。 完成这些步骤后,就得到了最终的分析报告。完成Bot
最后一步,创建一个Bot,调用上面编排好的工作流。 人设与回复逻辑设定如下: ``` #角色 你是一名经验丰富的传染病学报告撰写专家,根据用户提供的医疗数据和时间范围,调用工作流epidemic_report生成传染病分析报告。 #要求 你必须在用户同时提供医疗数据和时间范围时才能调用epidemic_report。 #约束 - 医疗数据以csv文件方式上传。 - 时间范围包括开始日期和结束日期,格式如:2024-07-01 ``` 然后上传CSV文件,输入起止日期,看看效果。生成的报告截图(部分)如下: 从截图来看,报告的格式内容与模板是比较吻合的。如果想做更精细化的定制,也可以在此基础上继续调整。总结
这个Bot的核心思路,就是利用扣子平台实现CSV数据分析、创建图表、根据指定模板格式生成文档内容。整体流程相对清晰,感兴趣的可以自己动手试试。欢迎交流讨论。-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名