一、项目背景与价值
随着心理健康需求的日益增长,传统心理咨询面临资源有限、成本较高、地域限制等问题。基于大语言模型(LLM)的 AI 心理咨询助手能够突破这些限制,为用户提供 7×24 小时的心理支持、情绪疏导和专业指导。
本文将详细讲解如何基于 LangChain4j+Spring Boot 构建一套完整的 AI 心理咨询助手系统,集成 RAG(检索增强生成)、专业心理工具集(情绪分析、CBT 认知行为疗法、危机评估),实现具备专业能力的智能心理咨询服务。
1.2 核心特性
| 特性 | 描述 |
|---|---|
| AI智能对话 | 基于LangChain4j框架,支持DeepSeek/GLM等多种大语言模型 |
| RAG知识增强 | 集成ChromaDB向量数据库,支持心理学专业知识检索 |
| 专业工具集 | 情绪分析、CBT认知行为疗法、危机评估三大专业工具 |
| 实时通信 | 支持WebSocket双向通信,实现实时消息推送 |
| 响应式界面 | 现代化React前端,支持桌面和移动端访问 |
1.3 应用场景
-
心理健康咨询: 为用户提供初步的心理健康评估和建议
-
情绪支持: 识别用户情绪状态,提供针对性的心理支持
-
认知行为疗法指导: 帮助用户识别和改变负面思维模式
-
危机干预: 检测潜在危机信号,提供紧急资源和指导
1.4 技术亮点
-
使用LangChain4j作为AI Agent框架,支持工具调用和记忆管理
-
实现了完整的RAG(检索增强生成)流程,提升AI响应质量
-
内置心理学专业知识库,包含CBT、DBT、ACT等多种疗法知识
-
模块化设计,易于扩展和维护
2. 技术架构
2.1 整体架构图
┌─────────────────────────────────────────────────────────────────┐ │ 前端层 (React + TypeScript) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌───────────┐ │ │ │ 聊天组件 │ │ 布局组件 │ │ UI组件库 │ │ Hooks │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └───────────┘ │ └────────────────────────────┬────────────────────────────────────┘ │ HTTP/WebSocket ┌────────────────────────────▼────────────────────────────────────┐ │ 后端层 (Spring Boot 2.7.18) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌───────────┐ │ │ │ Controller │ │ Service │ │ Tools │ │ Config │ │ │ │ REST/WS │ │ AI Agent │ │ 专业工具 │ │ 配置 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └───────────┘ │ └────────────────────────────┬────────────────────────────────────┘ │ ┌────────────────────────────▼────────────────────────────────────┐ │ AI服务层 (LangChain4j) │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌───────────┐ │ │ │ ChatModel │ │ Embedding │ │ ChatMemory │ │ AiService│ │ │ │ DeepSeek/GLM│ │ Model │ │ 记忆管理 │ │ Agent构建│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └───────────┘ │ └────────────────────────────┬────────────────────────────────────┘ │ ┌────────────────────────────▼────────────────────────────────────┐ │ 数据存储层 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ ChromaDB │ │ H2 Database│ │ Knowledge │ │ │ │ 向量数据库 │ │ 业务数据 │ │ Base │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └─────────────────────────────────────────────────────────────────┘
2.2 技术栈详情
后端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Java | 17 | 编程语言 |
| Spring Boot | 2.7.18 | Web框架 |
| LangChain4j | 0.31.0 | AI Agent框架 |
| ChromaDB | - | 向量数据库 |
| H2 Database | - | 内存数据库(开发环境) |
| WebSocket | - | 实时通信 |
| Lombok | - | 代码简化 |
前端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| React | 18.2.0 | UI框架 |
| TypeScript | 5.2.2 | 类型安全 |
| Vite | 5.0.8 | 构建工具 |
| Tailwind CSS | 3.3.6 | 样式框架 |
| Axios | 1.6.2 | HTTP客户端 |
| Socket.io-client | 4.7.2 | WebSocket客户端 |
| Recharts | 2.10.4 | 数据可视化 |
| Lucide React | 0.263.1 | 图标库 |
AI模型支持(配置中心加)
| 模型 | 提供商 | 用途 |
|---|---|---|
| DeepSeek Chat | DeepSeek | 主要对话模型 |
| GLM-5 | 智谱AI | 备用对话模型 |
| all-MiniLM-L6-v2 | LangChain4j | 文本嵌入模型 |
2.3 数据流架构
用户输入 │ ▼ ┌─────────────────────────────────────────────────────┐ │ 前端处理 │ │ 1. 消息验证和清理


190

被折叠的 条评论
为什么被折叠?



