# rag_assistant **Repository Path**: li9699/rag_assistant ## Basic Information - **Project Name**: rag_assistant - **Description**: 一个基于SpringAI + Qdrant向量数据库实现的平台智能客服系统 , 对话增强,意图识别, 业务工具调用项目调研实现 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-14 - **Last Updated**: 2025-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringAI, RAG, tools, FcuntionCall, Redis ## README 该项目是一个基于Java的智能助手后端服务,结合了向量数据库、意图识别和对话记忆等功能。以下是项目的简要说明: --- ## 📌 项目简介 本项目是一个基于Spring Boot的智能助手服务,主要功能包括: - **意图识别**:通过AI模型识别用户输入的意图。 - **对话记忆**:使用Redis存储对话历史,支持上下文记忆。 - **向量检索**:通过Qdrant向量数据库支持知识库检索。 - **订单管理工具**:提供创建、查看、取消和列出订单的功能。 - **流式对话接口**:支持前端进行流式对话交互。 --- ## 🧩 核心模块 - **ChatController**:提供REST API接口,支持流式对话、获取历史记录、清除历史等功能。 - **IntentRecognitionService**:识别用户意图,并根据上下文生成响应。 - **MemoryService**:管理对话记忆,支持增强提示生成。 - **VectorStoreConfig**:配置Qdrant向量数据库,支持知识库检索。 - **OrderFunctionTool**:提供订单管理功能,包括创建、查看、取消和列出订单。 - **RedisMemoryConfig**:配置Redis用于存储对话历史。 --- ## 🛠 技术栈 - **Java 17+** - **Spring Boot** - **Qdrant Vector Store** - **Redis** - **OpenAI Spring AI** - **Lombok** - **Thymeleaf (前端页面)** --- ## 📦 依赖管理 使用Maven进行依赖管理,核心依赖包括: - Spring Boot Starter Web - Spring Boot Starter Data Redis - Spring AI Qdrant Vector Store - OpenAI Spring AI - Lombok - Qdrant Java Client --- ## 📁 配置文件 - `application.yml`:主要配置文件,包含Redis、Qdrant、OpenAI等配置。 - `promptTemplate.txt` / `promptTemplate_long.txt`:用于生成AI提示的模板文件。 - `knowledge_base.txt`:知识库文本文件,用于向量数据库初始化。 --- ## 🧪 测试 - `DataInitTest.java`:用于初始化知识库数据到Qdrant向量数据库。 --- ## 🚀 启动方式 1. 确保已安装Java 17+ 和Maven。 2. 安装并启动Redis和Qdrant服务。 3. 执行以下命令启动项目: ```bash mvn spring-boot:run ``` --- ## 🌐 API 接口 - `GET /api/chat/stream?sessionId=xxx&question=xxx`:流式对话接口。 - `GET /api/chat/history/{sessionId}`:获取对话历史。 - `DELETE /api/chat/history/{sessionId}`:清除对话历史。 - `GET /api/chat/health`:健康检查接口。 --- ## 📚 前端页面 - `chat.html`:简单的前端聊天页面,支持对话展示和输入。 --- ## 📄 许可证 本项目遵循 [MIT License](https://opensource.org/licenses/MIT),详情请查看 LICENSE 文件。 --- 如需进一步了解项目细节,请查看源码或运行测试用例。欢迎贡献代码或提出建议!