No Description

wangkangyjy c50a82d9b9 prompt2 3 months ago
.claude 6f881981ee init 3 months ago
frontend 6f881981ee init 3 months ago
src c50a82d9b9 prompt2 3 months ago
.gitignore 6f881981ee init 3 months ago
PROJECT_SUMMARY.md 6f881981ee init 3 months ago
QUICKSTART.md 6f881981ee init 3 months ago
README.md 6f881981ee init 3 months ago
build-root.sh 6f881981ee init 3 months ago
build.sh 6f881981ee init 3 months ago
check_prompt.txt 6f881981ee init 3 months ago
create_logos.py 6f881981ee init 3 months ago
logo-gsszyy.jpg 6f881981ee init 3 months ago
logo.jpg 6f881981ee init 3 months ago
pom.xml 6f881981ee init 3 months ago
run.sh 6f881981ee init 3 months ago
开发说明.md 6f881981ee init 3 months ago
检验报告提示词.txt 6f881981ee init 3 months ago
甘肃省中医院血常规检验报告解读.txt 6f881981ee init 3 months ago

README.md

甘肃省中医院检验报告解读智能体

这是一个基于SpringBoot + Vue 3 + LangChain4J + 阿里云百炼平台的检验报告智能解读系统。

功能特性

  • 📷 拍照识别纸质检验报告
  • 🤖 AI驱动的智能解读(基于百炼平台qwen-vl-max模型)
  • 📊 生成详细的Markdown格式解读报告
  • 📱 移动端友好的响应式设计
  • 🚀 单JAR包启动,开箱即用

技术栈

后端

  • SpringBoot 3.2.0
  • LangChain4J 0.34.0
  • Hutool 5.8.25
  • 阿里云百炼平台集成

前端

  • Vue 3
  • Vite
  • Vue Router
  • Axios
  • Marked(Markdown渲染)

快速开始

🚀 一键启动(推荐)

现在您只需要运行一个命令,就可以启动整个项目:

mvn clean spring-boot:run

Maven 会自动完成以下所有步骤:

  1. ✅ 下载并安装 Node.js 和 npm(首次运行,约40MB)
  2. ✅ 安装前端依赖包
  3. ✅ 构建前端项目
  4. ✅ 启动 Spring Boot 后端
  5. ✅ 自动整合前后端

启动成功后,访问:http://localhost:8080

无需任何手动构建步骤!


📦 打包成 JAR(生产部署)

如果需要打包成可执行 JAR 包:

mvn clean package -DskipTests

打包完成后,直接运行 JAR 包:

java -jar target/lab-report-interpret-1.0.0.jar

优势

  • ✅ 单个 JAR 包包含所有内容(前后端 + 依赖)
  • ✅ 无需安装 Node.js 和 npm
  • ✅ 可以直接部署到任何服务器
  • ✅ 启动速度快(约 2 秒)

JAR 包大小约 51MB,位于 target/ 目录。


1. 配置百炼平台API密钥

src/main/resources/application.yaml 中配置您的API密钥:

bailian:
  api-key: your-api-key-here  # 替换为您的实际API密钥

或者通过环境变量设置:

export BAILIAN_API_KEY=your-api-key

2. 构建项目

方式一:使用构建脚本(推荐)

./build.sh

方式二:手动构建

# 构建前端
cd frontend
npm install
npm run build
cd ..

# 构建后端
mvn clean package -DskipTests

3. 运行项目

java -jar target/lab-report-interpret-1.0.0.jar

4. 访问系统

打开浏览器访问:http://localhost:8080

使用流程

  1. 欢迎页:点击"检验报告解读"按钮
  2. 拍照页:使用手机或电脑摄像头拍摄纸质检验报告
  3. 解读中:系统自动调用百炼模型进行OCR识别和解读
  4. 报告页:查看详细的Markdown格式解读报告
  5. 返回:点击"返回首页"继续下一个报告解读

项目结构

lab-report-interpret/
├── src/main/
│   ├── java/                    # Java后端源码
│   │   └── com/emoon/labreport/
│   │       ├── controller/      # REST API控制器
│   │       ├── service/         # 业务逻辑层
│   │       ├── config/          # 配置类
│   │       └── dto/             # 数据传输对象
│   └── resources/
│       ├── application.yaml     # Spring Boot配置
│       ├── frontend/            # 前端源码(Vue项目)
│       │   ├── src/            # Vue组件源码
│       │   │   ├── views/      # 页面组件
│       │   │   ├── api/        # API接口
│       │   │   ├── router/     # 路由配置
│       │   │   └── main.js     # 入口文件
│       │   ├── public/         # 静态资源
│       │   ├── logo.jpg        # 应用Logo
│       │   ├── logo-gsszyy.jpg # 医院Logo
│       │   ├── package.json    # 前端依赖配置
│       │   └── vite.config.js  # Vite配置
│       ├── static/             # 构建后的前端(自动生成)
│       └── prompts/            # AI提示词模板
├── pom.xml                     # Maven配置(包含前端自动构建)
└── README.md

重要说明

  • 前端源码已整合到 src/main/resources/frontend/ 目录
  • Maven 会自动构建前端并整合到 Spring Boot
  • 无需单独管理前端项目!

配置说明

百炼平台配置

bailian:
  api-key: your-api-key      # 百炼平台API密钥(必填)
  model: qwen-vl-max         # 使用的模型(视觉理解模型)
  base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
  temperature: 0.7           # 温度参数
  max-tokens: 4000          # 最大输出token数

端口配置

server:
  port: 8080                 # 服务端口

API接口

报告解读接口

POST /api/report/interpret

请求体:

{
  "imageBase64": "data:image/jpeg;base64,/9j/4AAQ...",
  "promptType": "blood"
}

响应:

{
  "success": true,
  "markdownContent": "# 报告解读\n...",
  "errorMessage": null
}

注意事项

  1. API密钥:使用前必须在application.yaml中配置有效的百炼平台API密钥
  2. 摄像头权限:首次使用需要授予浏览器摄像头访问权限
  3. 图片质量:拍摄时请确保检验报告清晰可见,避免反光和模糊
  4. 网络环境:需要稳定的网络连接以调用百炼API
  5. 响应时间:报告解读可能需要10-30秒,请耐心等待

开发指南

修改前端代码

  1. 编辑前端源码

    • 源码位置:src/main/resources/frontend/src/
    • 修改 Vue 组件、样式等
  2. 重新启动项目

    mvn clean spring-boot:run
    
  3. 访问 http://localhost:8080 查看变化

修改后端代码

  1. 编辑Java源码

    • 源码位置:src/main/java/
    • 修改 Controller、Service 等
  2. 重新启动项目

    mvn spring-boot:run
    

打包成可执行 JAR

mvn clean package

生成的 JAR 包位于 target/lab-report-interpret-1.0.0.jar

运行 JAR 包:

java -jar target/lab-report-interpret-1.0.0.jar

常见问题

Q: 首次启动很慢?

A: 首次运行需要下载 Node.js (约 40MB) 和 npm 依赖包,大概需要 1-2 分钟。后续启动会快很多(约 10 秒)。

Q: 前端修改后需要手动构建吗?

A: 不需要!每次运行 mvn spring-boot:run 都会自动构建前端,无需手动操作。

Q: 如何只启动后端跳过前端构建?

A: 使用 mvn spring-boot:run -Dfrontend.skip=true(需要先构建过一次)。

Q: API调用失败怎么办?

A:

  • 检查 application.yaml 中的 API 密钥是否正确
  • 确认百炼平台账户余额充足
  • 查看后端日志获取详细错误信息

Q: 摄像头无法访问?

A:

  • 检查浏览器是否授予摄像头权限
  • 尝试使用 HTTPS 或 localhost 访问
  • 部分浏览器需要安全上下文才能访问摄像头

许可证

本项目仅供学习和演示使用。

联系方式

如有问题,请联系开发团队。