☰
Mirobody AI健康日记解析:一句话输入变成标准化医学记录,绝不臆断病情
2026/10/12 21:04:00 网站建设 项目流程

【免费下载链接】mirobody

Turn scattered health data into answers you can trace. Self-hosted AI health data engine for lab reports, wearables and genetics, with a built-in MCP server. Run it with Docker and one LLM key, or keep every model local on llama.cpp.

项目地址:https://gitcode.com/gh_mirrors/mi/mirobody
点击查看免费下载

Mirobody 是一款自托管的 AI 健康数据引擎,能把化验单、可穿戴设备和基因数据汇成一份可追溯的标准化医学记录。它的 AI 健康日记让你用一句话输入"昨晚头疼,血压150/95,没发烧",症状自动获得 ICPC-3 编码、数值获得 LOINC 编码,而"没发烧"永远不会被记成发烧。本文带你拆解 Mirobody 健康日记的工作原理,并用几分钟跑起来。

Mirobody AI健康日记能做什么:一句话记录症状、数值和用药

打开 Mirobody 的「数据 › 记录」页,输入框只有一句话的提示:写什么都行,比如"我头疼,血压150/95,每天早晚吃二甲双胍500mg,午饭吃了面"。提交后,系统把这句话拆成若干条目,各自落入对应的记录:

你写的变成了什么
头疼一条症状记录,编码NS01(ICPC-3)
血压150/95两条读数:收缩压 150(LOINC8480-6)、舒张压 95(LOINC8462-4)
每天早晚吃二甲双胍500mg用药清单里的一条用药计划
午饭吃了面一条备注,按原话保存,不做编码

注意一个细节:150/95 没有被当成一个"血压值"存进去,而是拆成两条独立读数。这样日记里的血压和手表、化验单里的血压天然就是同一个序列,可以直接画趋势线。拆句与写入逻辑见 mirobody/collect/sentence.py,日记 API 定义在 mirobody/server/routers/journal_router.py(POST /api/v1/journal/sentence)。

工作原理:模型只管拆句,编码交给离线词表

Mirobody 日记最核心的设计是职责分离:

  1. 模型只拆句、分类。语言模型把句子拆成"症状 / 数值 / 用药 / 其他"几类,保留你原话的原词——它从头到尾不被要求给出任何编码。
  2. 编码由词表离线完成。每条记录在写入时,对着随包发布的标准词表做查找:
    • ICPC-3:1,218 个症状与诊断代码,中文表述通过自带的映射表(mirobody/res/icpc3/symptoms_zh.tsv、conditions_zh.tsv)命中,如头疼 → NS01、高血压 → KD73;
    • LOINC 2.83:63,416 个检验指标代码,支持中、英、繁、日、俄等多语言别名,如血红蛋白 → 718-7;
    • UCUM:330 个标准单位,统一量纲。
  3. 查不到就弃答,不猜。这是一个纯词表层面的保证,和用哪家模型无关。例如"血脂"是一个类别而不是某一项检验,词表对它返回"无法解析",而不是硬凑一个相近代码。

词表解析完全离线、结果确定,不依赖任何模型:

更深入的词表构成与覆盖率数据,见 docs/standardization.zh-CN.md。

"绝不臆断病情"背后的五道防线

"AI 编造病情"是健康类应用最让人担心的问题。Mirobody 在拆句到写入的每一步都做了防臆断设计,且每一条被跳过的部分都会带着原因返回给你看,而不是悄悄丢弃:

  • ① 否定不记录。"没发烧"会被标记为否定断言,明确不写进症状记录——它不会变成一条"发烧"。
  • ② 猜测不记录。"怕是感冒了"这类假设、疑问("要不要吃点布洛芬?")只被识别、被跳过,不会进入档案。
  • ③ 别人的事不记录。"我妈高血压"被判定为关于他人,不会写进你的档案;如果是为家人代记(如关爱圈里代爸妈记录),"我爸咳嗽"里的"我"指的就是档案主人本人。
  • ④ 引用必须真实存在。模型输出的每一部分都必须逐字引用原句中的一段;引用在句子里找不到,说明是模型编的,直接丢弃。
  • ⑤ 时间不可穿越。句子里解析出的时间("昨晚")必须能解析且不指向未来,否则回退到默认时间,避免小模型张冠李戴。

加上"查不到就弃答"的词表纪律,整条链上没有任何一个环节会给模型"编一个答案"的机会。

日记、化验单和手表如何变成同一份记录

健康日记的价值不在单条记录,而在它和其余数据共用同一套编码。上传一张化验单照片(如 demo/upload/mom_physical_2026-06.jpg 这样的手机拍纸单),或接入 Garmin、Oura、Whoop、Apple Health,读数进入档案后都带 LOINC 代码。

于是"日记里手敲的血压8480-6"和"手表测的血压8480-6"自动落在同一条序列上;不同化验所对同一指标的不同写法(Total Cholesterol-TC与Cholesterol, Total)也归并成同一代码。之后你向 agent 提问,它跨文件作答,每个数字都能点开追溯来源:

完整的"上传文件 → 编码 → 提问 → 记日记"四分钟演示,见 docs/walkthrough.zh-CN.md。

Docker 一键部署 Mirobody 健康日记

跑起来只需 Docker 和一把模型 Key:

git clone --depth 1 https://gitcode.com/gh_mirrors/mi/mirobody && cd mirobody ./deploy.sh

脚本会启动 Postgres、服务器、worker 和演示数据,打开页面粘贴一把 OpenRouter、OpenAI、Gemini、DeepSeek 或任意 OpenAI 兼容网关的 Key 即可。用you@mirobody.ai、验证码111111登录,到「数据 › 记录」页写下第一句话。演示数据的每份文件都有说明:demo/README.md。

不想用云端模型?加一个环境变量即可让所有模型跑在本机(llama.cpp CPU 镜像,无需 Key):

COMPOSE_PROFILES=local-cpu ./deploy.sh

预留 16 GB 内存即可,模型选择与 Mac/Windows 配置详见 docs/local-models.zh-CN.md。

小结

Mirobody 的 AI 健康日记用一句话把"模型会编"的风险挡在门外:模型只拆句,编码靠词表,查不到就弃答,否定和猜测一律不记录——一句话输入,得到的是一份带 ICPC-3 / LOINC 编码、可与化验单和手表数据互通、且每条都能溯源的标准化医学记录。

【免费下载链接】mirobody

Turn scattered health data into answers you can trace. Self-hosted AI health data engine for lab reports, wearables and genetics, with a built-in MCP server. Run it with Docker and one LLM key, or keep every model local on llama.cpp.

项目地址:https://gitcode.com/gh_mirrors/mi/mirobody
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询