Skip to content

Releases: Caelum1314/xinjing-backend

v1.0.0 · 心镜 多模态 AI 心理陪伴助手

Choose a tag to compare

@Caelum1314 Caelum1314 released this 16 Sep 08:58

项目简介

心镜 是一个多模态 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