Skip to content

BasicLLM/ai-diagnosis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🩺 AI 诊断项目后端

演示地址


演示界面:https://zhangming.me/ai:demo:ai-diagnosis

演示接口:https://api.aiservice.cloud/completions/v1/ai-diagnose

AI 诊断界面

后端部署目录结构


─┬─
 ├─ config                            # 配置目录
 │     └─ application.yml             # 配置文件
 │
 ├─ prompt                            # 提示词目录
 │     ├─ deepseek-chat               # 【可选】自定义的模型提示词目录,目录名为模型名
 │     │       └─ diagnose.prompt     # 【可选】自定义提示词,指定模型会优先采用该提示词
 │     │
 │     ├─ diagnose.prompt             # 不启用RAG的诊断提示词
 │     ├─ diagnose-rag.prompt         # 启用RAG的诊断提示词
 │     ├─ knowledge-base-query.prompt # 查询知识库的提示词
 │     ├─ user.prompt                 # 不启用RAG的用户提示词
 │     └─ user-rag.prompt             # 启用RAG的用户提示词
 │
 └─ ai-diagnosis.jar                  # 程序 jar 包

Docker 部署


代码执行 Maven 打包时,会自动生成 docker 镜像

docker run -d -p 9015:9015 -v /path/to/config:/config -v /path/to/prompt:/prompt ai-diagnosis:0.0.1

诊断接口


接口地址: /v1/ai/diagnose

请求方法: POST

请求参数:

请求体(Body)配置如下:

字段 类型 说明
setting Object 模型设置
setting.provider String 提供商(配置文件中的 aichat.proxies.id
setting.model String 模型名,需要根据提供商进行选择
setting.useRag Boolean 是否启用 RAG
condition Object 病人身体状况
condition.gender String 性别
condition.age Number 年龄
condition.chiefComplaint String 主诉
condition.historyOfPresentIllness String 现病史
condition.pastHistory String 既往史
condition.personalHistory String 个人史
condition.allergicHistory String 过敏史
condition.reproductiveHistory String 生育史( TPAL 数据 )
condition.pregnancyAndDelivery String 婚育史
condition.epidemicHistory String 流行病史
condition.physicalExamination String 体格检查结果
condition.auxiliaryExamination String 辅助检查结果

请求示例:

{
  "setting": {
    "provider": "deepseek",
    "model": "deepseek-chat",
    "useRag": true
  },
  "condition": {
    "gender": "",
    "age": 49,
    "chiefComplaint": "右下腹痛并自扪及包块3小时",
    "historyOfPresentIllness": "3小时前解大便后出现右下腹疼痛,右下腹可触及一包块",
    "pastHistory": "既往体健",
    "personalHistory": null,
    "allergicHistory": null,
    "reproductiveHistory": null,
    "pregnancyAndDelivery": null,
    "epidemicHistory": null,
    "physicalExamination": "T 37.8℃,P 101次/分,呼吸22次/分,BP 100/60mmHg。腹软,未见胃肠型蠕动波,肝脾肋下未及,右侧腹股沟区可扪及一圆形肿块(4cm×4cm),有压痛、界欠清,肿块位于腹股沟韧带上内方",
    "auxiliaryExamination": "血常规:WBC 5.0×109/L,N 78%;尿常规正常;多普勒超声:腹股沟纵切见多层分布混合回声区(4-5cm),远端膨大,边界整齐;腹部X线:阶梯状液气平"
  }
}

返回参数:

返回参数使用 ssh 服务器推流模式,返回结构如下:

字段 类型 说明
diseases String List 疾病列表
reasons String 诊断分析

注意,第一次返回的值为疾病列表(diseases)和诊断分析 (reasons),后续返回的都是诊断分析 (reasons)

返回示例:

第一次返回:

{"diseases":["腹股沟疝","阑尾炎","感染性发热"],"reasons":"1. "}

后续返回:

{"reasons":"患者"}
{"reasons":""}
{"reasons":""}

About

AI 诊断项目后端

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages