跳转到主要内容

概览

Mirobody Health 可以处理多种健康相关文件,自动提取健康指标并用于 AI 分析。你可以上传检验报告、医疗记录等健康文档,从而构建完整的健康历史。

支持的文件类型

PDF Documents

检验报告、医疗记录、处方等

Images

JPEG、PNG、GIF、WebP、HEIC——扫描件与照片

Audio Files

WAV、MP3、AIFF、AAC、OGG、FLAC——语音记录

Genetic Data

基因检测报告与分析文件

工作原理

1

上传文件

通过 Web 界面或 API 上传健康文档。文件会被安全存储并加密。
2

自动处理

系统会自动:
  • 识别文件类型与内容
  • 从文档中提取文本与数据
  • 识别健康指标(检验结果、生命体征等)
3

健康指标提取

LLM 会分析文档并提取:
  • 检验结果(血液检查、代谢面板等)
  • 生命体征(血压、心率、体重等)
  • 医疗测量值与医生观察记录
  • 检测日期与参考范围
4

查询与分析

处理完成后,你可以:
  • 针对健康数据提问
  • 追踪指标随时间的变化
  • 生成健康摘要与报告

可提取的健康指标

系统可自动提取多类健康数据:
  • Complete Blood Count:WBC、RBC、Hemoglobin、Platelets
  • Metabolic Panel:Glucose、Liver enzymes、Kidney function
  • Lipid Panel:Cholesterol、Triglycerides、HDL、LDL
  • Thyroid Function:TSH、T3、T4
  • Tumor Markers:多种肿瘤筛查指标
  • 血压(收缩压/舒张压)
  • 心率与脉搏
  • 体重与 BMI
  • 身高
  • 体温
  • 血氧饱和度(SpO2)
当与已连接设备数据结合时:
  • 活动与运动数据
  • 睡眠模式
  • 心率变异性
  • 每日步数

文件上传

Via Web Interface

  1. 登录你的 Mirobody Health 实例
  2. 进入对话(chat)界面
  3. 点击文件上传按钮
  4. 选择健康文档
  5. 可选:添加文件备注
  6. 上传并等待处理完成

通过 REST API

用于简单文件上传,无实时进度:
curl -X POST http://localhost:18080/files/upload \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "files=@lab_report.pdf" \
  -F "files=@blood_work.jpg"

通过 WebSocket API

用于带实时进度反馈的上传(大文件推荐):
ws://localhost:18080/ws/upload-health-report?token=YOUR_TOKEN
WebSocket 提供:
  • 实时上传进度
  • 处理状态更新
  • 详细错误信息
  • 支持大文件分块
详细 API 文档、WebSocket 协议与实现示例,参见文件处理实现指南

配置

在你的配置文件(例如 config.localdb.yaml)中启用健康指标提取:
config.localdb.yaml
# File Processing Configuration
ENABLE_INDICATOR_EXTRACTION: 1  # Enable automatic indicator extraction (1 = enabled, 0 = disabled)
处理多模态文件(PDF、图片、音频)需要至少一个 LLM key。缺少时:
  • 文件上传仍可用
  • 文件会被存储
  • 但自动指标提取与内容分析无法工作

处理流程

系统使用复杂的流程:
  1. 文件上传 (0-30%):接收并验证文件,上传到对象存储
  2. 类型识别 (30-35%):自动检测文件类型并选择适当的处理器
  3. 内容处理 (35-90%):提取文本、图片、数据;多页 PDF 并行处理
  4. 摘要生成 (90-95%):使用 LLM 生成文件摘要和智能名称
  5. 结果保存 (95-100%):存储到数据库,同步健康指标,更新用户 profile

隐私与安全

  • 文件传输全程加密(HTTPS)
  • 文件存储在对象存储中并加密
  • 需要安全的 token-based 认证
  • 数据完全归你所有
  • 文件可随时删除
  • 级联删除会移除全部关联数据
  • 自托管部署让数据留在你的服务器上
  • 文件处理使用配置的 LLM providers(Google Gemini)
  • 提取的数据仅存储在你的数据库中
  • 不与第三方共享数据

文件管理

Viewing Files

所有上传的文件可以通过以下方式访问:
  • 带附件的对话历史
  • 消息详情中的文件列表
  • 直接文件 URL(需认证)

Deleting Files

删除文件会同时移除与该文件相关的所有已提取健康指标。
删除文件步骤:
  1. 进入包含该文件的消息
  2. 选择要删除的文件
  3. 确认删除
文件及其关联数据会从以下位置永久删除:
  • 对象存储
  • 数据库记录
  • 健康指标数据

最佳实践

大文件建议:优先上传 PDF 与图片。多页 PDF 会并行处理以提升速度。
检验报告建议:上传完整 PDF 报告而非截图,可获得更高提取准确率。
添加上下文:上传时附带备注(例如“2024 年体检”),便于后续检索。
按日期组织:建议用日期(YYYY-MM-DD)给文件命名,便于按时间追踪。

故障排查

Solutions:
  • 检查文件大小(建议单文件 < 50MB)
  • 确认认证 token 有效
  • 确认文件类型受支持
  • 查看 server logs 获取具体错误原因
Solutions:
  • 确认配置中 ENABLE_INDICATOR_EXTRACTION: 1
  • 确认 GOOGLE_API_KEY 已配置且有效
  • 检查文件是否包含可识别的健康数据
  • 尝试上传更清晰/更高分辨率的图片
Expectations:
  • 小文件(< 5MB):10–30 秒
  • 大 PDF(> 20MB):1–3 分钟
  • 多页文档:耗时更长,但会并行处理
若明显超过上述时间,请检查 server 资源与日志。

技术细节

面向需要更深入细节的开发者与高级用户:
  • WebSocket upload protocol
  • REST API endpoints and parameters
  • Processing pipeline architecture
  • Data models and schemas
  • Error handling and best practices

File Processing Implementation Guide

文件上传与处理的完整技术文档

下一步