# 甘肃省中医院检验报告解读智能体 这是一个基于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渲染) ## 快速开始 ### 🚀 一键启动(推荐) 现在您只需要运行一个命令,就可以启动整个项目: ```bash mvn clean spring-boot:run ``` Maven 会自动完成以下所有步骤: 1. ✅ 下载并安装 Node.js 和 npm(首次运行,约40MB) 2. ✅ 安装前端依赖包 3. ✅ 构建前端项目 4. ✅ 启动 Spring Boot 后端 5. ✅ 自动整合前后端 启动成功后,访问:**http://localhost:8080** **无需任何手动构建步骤!** --- ### 📦 打包成 JAR(生产部署) 如果需要打包成可执行 JAR 包: ```bash mvn clean package -DskipTests ``` 打包完成后,直接运行 JAR 包: ```bash 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密钥: ```yaml bailian: api-key: your-api-key-here # 替换为您的实际API密钥 ``` 或者通过环境变量设置: ```bash export BAILIAN_API_KEY=your-api-key ``` ### 2. 构建项目 **方式一:使用构建脚本(推荐)** ```bash ./build.sh ``` **方式二:手动构建** ```bash # 构建前端 cd frontend npm install npm run build cd .. # 构建后端 mvn clean package -DskipTests ``` ### 3. 运行项目 ```bash 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 - 无需单独管理前端项目! ## 配置说明 ### 百炼平台配置 ```yaml 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数 ``` ### 端口配置 ```yaml server: port: 8080 # 服务端口 ``` ## API接口 ### 报告解读接口 **POST** `/api/report/interpret` **请求体:** ```json { "imageBase64": "data:image/jpeg;base64,/9j/4AAQ...", "promptType": "blood" } ``` **响应:** ```json { "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. **重新启动项目** ```bash mvn clean spring-boot:run ``` 3. **访问** http://localhost:8080 查看变化 ### 修改后端代码 1. **编辑Java源码** - 源码位置:`src/main/java/` - 修改 Controller、Service 等 2. **重新启动项目** ```bash mvn spring-boot:run ``` ### 打包成可执行 JAR ```bash mvn clean package ``` 生成的 JAR 包位于 `target/lab-report-interpret-1.0.0.jar` 运行 JAR 包: ```bash 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 访问 - 部分浏览器需要安全上下文才能访问摄像头 ## 许可证 本项目仅供学习和演示使用。 ## 联系方式 如有问题,请联系开发团队。