File size: 4,214 Bytes
793e953 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | # VetCopilot — AI 兽医助手
智能兽医诊疗辅助系统,集成语音转写、AI 辅助诊断、病历管理、药品管理、预约排班等功能。
## 技术栈
| 层 | 技术 |
|---|------|
| 前端 | React 18 + TypeScript + Vite + TailwindCSS |
| 后端 | Python 3.12 + FastAPI + SQLAlchemy + SQLite |
| ASR | SenseVoice (阿里免费) / Whisper / 讯飞(三引擎可切换) |
| LLM | DeepSeek / 自定义模型(OpenAI 兼容 API) |
| 数据可视化 | Recharts |
| 部署 | Docker + Nginx + Let's Encrypt HTTPS |
## 项目结构
```
can_you_help_me/
├── vetcopilot-app/ # 前端 (React + Vite)
│ ├── src/
│ │ ├── api/ # API 调用层
│ │ ├── components/ # 公共组件
│ │ ├── hooks/ # 自定义 Hooks
│ │ ├── i18n/ # 国际化 (中/英)
│ │ └── pages/ # 页面组件
│ └── vite.config.ts
├── vetcopilot-backend/ # 后端 (FastAPI)
│ ├── app/
│ │ ├── models/ # SQLAlchemy 数据模型
│ │ ├── routers/ # API 路由
│ │ ├── schemas/ # Pydantic 数据验证
│ │ ├── services/ # 业务逻辑层
│ │ │ └── asr/ # ASR 引擎 (SenseVoice/Whisper/Xunfei)
│ │ ├── config.py # 全局配置
│ │ └── main.py # 应用入口
│ └── requirements.txt
├── deploy/ # 部署配置
│ ├── docker-compose.yml
│ ├── Dockerfile.backend
│ ├── Dockerfile.frontend
│ ├── nginx.conf
│ ├── nginx-site.conf
│ ├── setup-https.sh # HTTPS 证书自动获取
│ └── .env.production.example
└── dev-log/ # 开发日志
```
## 快速开始
### 1. 后端
```bash
cd vetcopilot-backend
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Mac/Linux
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8080 --reload
```
### 2. 前端
```bash
cd vetcopilot-app
npm install
npm run dev
```
### 3. 访问
- 前端: `http://localhost:5173`
- 后端 API 文档: `http://localhost:8080/docs`
- 测试账号: `13800000002` / `password123`
## ASR 引擎切换
编辑 `vetcopilot-backend/.env`:
```env
# 推荐:阿里 SenseVoice(免费,中文优化,约 200MB)
ASR_PROVIDER=sensevoice
# 或:Whisper(免费,多语言)
ASR_PROVIDER=whisper
# 或:讯飞(付费,高精度实时流式)
ASR_PROVIDER=xunfei
```
### 安装 SenseVoice
```bash
pip install funasr sentencepiece
# 首次使用会自动从 ModelScope 下载模型权重
```
## 对接同事调优模型
在 `.env` 中配置(任意 OpenAI 兼容 API):
```env
LLM_PROVIDER=custom
CUSTOM_LLM_ENABLED=true
CUSTOM_LLM_API_BASE=http://同事IP:端口/v1
CUSTOM_LLM_MODEL=模型名称
```
## 生产部署
参考 `deploy/` 目录下的配置文件。建议方案:
- **服务器**: 阿里云/腾讯云 教育优惠 (~100元/年)
- **域名**: 万网/DNSPod 教育优惠 (~1元/年)
- **HTTPS**: Let's Encrypt 免费证书(`setup-https.sh` 自动配置)
- **容器化**: `docker compose --env-file .env.production up -d`
```bash
# 1. 准备环境变量
cp deploy/.env.production.example deploy/.env.production
# 编辑 deploy/.env.production 填写真实密钥
# 2. 启动
cd deploy
docker compose --env-file .env.production up -d
# 3. 配置 HTTPS
sudo bash setup-https.sh your-domain.com admin@example.com
```
## 功能模块
- 语音转写:实时录音 → ASR 引擎 → 结构化病历
- AI 辅助诊断:症状输入 → LLM 分析 → 鉴别诊断 + 治疗方案
- 病历管理:结构化病历 + PDF/DOCX 导出
- 药品管理:库存/出入库/处方
- 预约排班:日历视图 + 时段管理
- 账单收费:诊疗项目 + 账单统计
- 通知中心:模板管理 + SMS/Email/Push 多渠道
- 权限管理:RBAC 角色权限控制
- 数据可视化:收入/患者/药品等多维度图表
- 超级管理员:全功能后台控制面板
## 许可证
Private — 仅供内部使用
|