# springAi学习 **Repository Path**: dodayum/learn-spring-ai ## Basic Information - **Project Name**: springAi学习 - **Description**: wjhfslkdjhflkjshldkjfahlksdhf - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-29 - **Last Updated**: 2026-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Based on the code map provided, I have a comprehensive understanding of the project structure. Let me generate the README.md. # Spring AI 学习项目 一个基于 Spring AI 框架的学习示例项目,包含多种 AI 功能的实现,包括聊天对话、智能客服、游戏交互、PDF 文档问答等功能。 ## 项目简介 本项目是一个 Spring AI 学习实践项目,演示了如何使用 Spring AI 框架集成多种大语言模型(LLM),包括: - **Ollama** - 本地大模型服务 - **OpenAI** - OpenAI API - **阿里云通义千问** - 阿里巴巴开源大模型 ## 项目结构 ``` learn-spring-ai/ ├── demo/ # 主演示模块 │ └── src/main/java/com/dodayum/ │ ├── controller/ # REST 控制器 │ ├── config/ # 配置类 │ ├── service/ # 业务服务 │ ├── tools/ # AI 工具类 │ └── repository/ # 数据仓库 ├── my-agent/ # AI Agent 模块 │ └── src/main/java/com/dodayum/ │ ├── controller/ # Agent 控制器 │ ├── config/ # 模型配置 │ ├── service/ # Agent 服务 │ └── tools/ # Agent 工具 ├── spring-ai-protal/ # 前端项目 (Vue.js) ├── init.sql # 数据库初始化脚本 └── pom.xml # Maven 父 POM ``` ## 主要功能 ### Demo 模块 1. **基础聊天功能** - 支持普通对话和流式对话 2. **智能客服** - 集成阿里云通义千问,支持课程查询和预约 3. **游戏交互** - 基于 OpenAI 的交互式游戏 4. **PDF 文档问答** - 基于 RAG(检索增强生成)的 PDF 文档智能问答 5. **聊天历史管理** - 支持对话历史的持久化和查询 ### My-Agent 模块 1. **聊天 Agent** - 基本对话功能 2. **工具调用** - 支持 AI 工具调用(如获取系统信息) 3. **RAG 演示** - 文档检索增强生成示例 4. **对战 Agent** - 多 Agent 交互演示 ## 技术栈 - **后端框架**: Spring Boot - **AI 框架**: Spring AI - **ORM**: MyBatis-Plus - **向量存储**: SimpleVectorStore - **前端**: Vue.js + TypeScript - **PDF 处理**: 内置 PDF 解析和向量化 ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - Node.js 16+ (前端) - MySQL (可选,用于数据持久化) ### 配置说明 在 `application.yml` 中配置相关 API 密钥: ```yaml spring: ai: openai: api-key: your-openai-api-key ollama: base-url: http://localhost:11434 ``` ### 运行项目 1. 克隆项目 ```bash git clone https://gitee.com/dodayum/learn-spring-ai.git cd learn-spring-ai ``` 2. 初始化数据库(可选) ```bash mysql -u root -p < init.sql ``` 3. 启动后端服务 ```bash cd demo mvn spring-boot:run ``` 4. 启动前端(可选) ```bash cd spring-ai-protal npm install npm run dev ``` ## API 接口 ### 聊天接口 - `GET /ai/chat/call` - 同步聊天 - `GET /ai/chat` - 流式聊天 ### 智能客服 - `GET /ai/service` - 客服对话(支持课程查询和预约) ### PDF 问答 - `POST /ai/pdf/upload/{chatId}` - 上传 PDF 文件 - `GET /ai/pdf/chat` - PDF 文档问答 ### 聊天历史 - `GET /ai/history/{type}` - 获取聊天会话列表 - `GET /ai/history/{type}/{chatId}` - 获取指定会话的消息历史 ## 功能特性 - ✅ 多模型支持(OpenAI、Ollama、阿里云通义千问) - ✅ 流式响应输出 - ✅ 对话记忆管理 - ✅ 工具调用(Function Calling) - ✅ RAG 文档问答 - ✅ 向量存储与检索 - ✅ 跨域支持 ## 许可证 本项目采用开源许可证,具体请查看 [LICENSE](LICENSE) 文件。 ## 参考资料 - [Spring AI 官方文档](https://docs.spring.io/spring-ai/reference/) - [Ollama 官方网站](https://ollama.ai/) - [阿里云通义千问](https://tongyi.aliyun.com/)