Releases: Caelum1314/xinjing-backend
Releases · Caelum1314/xinjing-backend
Release list
v1.0.0 · 心镜 多模态 AI 心理陪伴助手
项目简介
心镜 是一个多模态 AI 心理陪伴助手的后端服务,基于 FastAPI + Uvicorn 构建,
融合 图像情绪识别、语音转写、文本对话 三种输入模态,并提供心理问卷、成就系统与情感报告导出能力。
本项目为 省级二等奖获奖作品,代码与文档均为原创。
在线接口文档:启动服务后访问 http://localhost:8000/docs
✨ 核心功能
- 文本对话 — 接入智谱 GLM 大模型,支持流式输出、深度思考模式与联网检索
- 图像情绪识别 — OpenCV 解码 + DeepFace 识别 7 类情绪(开心 / 平静 / 惊讶 / 悲伤 / 恐惧 / 愤怒 / 厌恶)
- 情绪趋势分析 — 基于最近 7 次情绪记录给出走势判断
- 语音转写 — Whisper 本地模型转写中文语音
- 文档分析 — 上传 PDF / Word 提取文本并做内容分析
- 心理问卷 — 题目生成、作答保存、数据统计与开放题文本分析
- 成就系统 — 由对话、情绪、问卷行为触发成就解锁
- 情感报告 — 导出中文 PDF / Word 报告
🛠 技术栈
| 层次 | 使用技术 |
|---|---|
| Web 框架 | FastAPI + Uvicorn |
| 图像情绪识别 | OpenCV + DeepFace |
| 语音转写 | OpenAI Whisper |
| 大模型 | 智谱 GLM(zhipuai SDK) |
| 数据处理 | NumPy / Pandas |
| 报告导出 | ReportLab / python-docx / PyPDF2 |
| 数据存储 | 本地 JSON 文件(无数据库依赖) |
| 运行环境 | Python 3.11 · Windows 10/11 |
🚀 快速开始
# 1. 安装依赖(Windows 可直接双击 一键安装.bat)
pip install -r requirements.txt
# 2. 启动后端,默认监听 0.0.0.0:8000
cd 代码/project
python main.py
# 3. 启动前端(Windows 可直接双击 启动前端.bat)
python -m http.server 8080浏览器打开 http://localhost:8080 即可使用,接口文档在 http://localhost:8000/docs。
Windows 用户可直接双击根目录的 .bat 脚本完成安装、启动与停止。
请务必使用 Python 3.11:tensorflow 与 openai-whisper 在 3.12+ 上兼容性较差,3.13 大概率安装失败。
📡 接口概览
共 17 个接口,按 8 个业务模块划分:
| 模块 | 方法 | 路径 | 说明 |
|---|---|---|---|
| chat | POST | /chat |
文本对话(流式) |
| chat | POST | /clear_history |
清空对话上下文 |
| emotion | POST | /analyze |
图像情绪识别 |
| emotion | POST | /record_emotion |
记录情绪结果 |
| emotion | GET | /emotion_trend |
情绪趋势分析 |
| speech | POST | /speech_to_text |
语音转写 |
| document | POST | /analyze_document |
PDF / Word 解析分析 |
| survey | POST | /generate_survey |
生成心理问卷题目 |
| survey | POST | /save_survey |
保存问卷作答 |
| survey | GET | /get_survey_data |
获取问卷数据 |
| survey | GET | /get_statistics |
问卷统计结果 |
| survey | POST | /analyze_survey_text |
开放题文本分析 |
| report | POST | /generate_report |
生成情感报告 |
| report | GET | /export_report |
导出报告文件 |
| history | GET | /get_chat_history |
获取聊天历史 |
| history | POST | /clear_chat_history |
清空聊天历史 |
| achievement | GET | /get_achievements |
获取成就与统计数据 |
🔧 本版本工程改进
相较于早期开发版本,v1.0.0 主要完成了工程化整理:
- 统一后端入口:移除根目录冗余的单体后端文件,唯一入口为
代码/project/main.py - 修复运行时崩溃:修复存储层缺失常量导致的
NameError - Whisper 延迟加载:改为首次调用语音接口时才加载模型并全局复用,避免启动被拖慢
- 前端地址自动推断:页面后端地址由硬编码 IP 改为按主机名自动识别,支持
?api=覆盖,换机器无需改代码 - 依赖清单补全:新增根目录统一的
requirements.txt - 仓库瘦身:
.idea/、.venv/与运行期数据目录均已加入.gitignore - 文档重写:README 补齐功能特性、技术栈、项目结构、接口表格与快速开始,并补充版权与署名说明
⚠️ 已知限制
- 依赖较重(tensorflow / deepface / openai-whisper),建议 Python 3.11,首次安装耗时较长
- 首次调用语音转写接口时会下载 Whisper
base模型,需等待 - 启动脚本为 Windows 批处理,Linux / macOS 用户请按「快速开始」手动执行命令
- 数据以 JSON 文件落盘,适合单机与演示场景,非多用户并发生产环境
📄 License
本项目基于 MIT 协议开源。
可自由使用、修改与分发,但必须保留版权声明与作者署名,并请勿将本作品整体或核心部分
作为课程作业、竞赛作品或毕业设计提交。详见 README「关于署名与二次使用」。
署名信息
心镜 · 多模态 AI 心理陪伴助手
作者:Caelum1314
仓库:https://github.com/Caelum1314/xinjing-backend
许可:MIT License