Files
ruoyi-vue-pro/SPRING_AI_UPGRADE.md

132 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Spring AI 升级到 1.0.0 总结
## 升级版本
- **从**: Spring AI 1.0.0-M6
- **到**: Spring AI 1.0.0 GA
## 主要变化
### 1. 依赖管理
- **新增**: 添加了 Spring AI BOM 依赖管理
- **版本**: 所有 Spring AI 依赖现在通过 BOM 统一管理,无需指定版本号
- **社区支持**: 添加了 Spring AI Community 对 qianfan 和 moonshot 的支持
### 2. 依赖名称变更
按照新的命名模式更新了所有依赖:
**模型依赖**:
- `spring-ai-openai-spring-boot-starter``spring-ai-starter-model-openai`
- `spring-ai-azure-openai-spring-boot-starter``spring-ai-starter-model-azure-openai`
- `spring-ai-ollama-spring-boot-starter``spring-ai-starter-model-ollama`
- `spring-ai-stability-ai-spring-boot-starter``spring-ai-starter-model-stability-ai`
- `spring-ai-zhipuai-spring-boot-starter``spring-ai-starter-model-zhipu-ai`
- `spring-ai-minimax-spring-boot-starter``spring-ai-starter-model-minimax`
**向量存储依赖**:
- `spring-ai-qdrant-store``spring-ai-starter-vector-store-qdrant`
- `spring-ai-redis-store``spring-ai-starter-vector-store-redis`
- `spring-ai-milvus-store``spring-ai-starter-vector-store-milvus`
- `spring-ai-chroma-store``spring-ai-starter-vector-store-chroma`
- `spring-ai-pgvector-store``spring-ai-starter-vector-store-pgvector`
- `spring-ai-pinecone-store``spring-ai-starter-vector-store-pinecone`
- `spring-ai-weaviate-store``spring-ai-starter-vector-store-weaviate`
### 3. 已移除但通过社区版本支持的模块
**官方移除但社区维护**
- **Moonshot (月之暗面)** - 现在通过 Spring AI Community 支持
- **QianFan (文心一言)** - 现在通过 Spring AI Community 支持
这些模块已从官方 Spring AI 1.0.0 中移除,但在 Spring AI Community 项目中得到维护:
- GitHub: https://github.com/spring-ai-community
- QianFan: https://github.com/spring-ai-community/qianfan
- Moonshot: https://github.com/spring-ai-community/moonshot
### 4. 继续支持的模型
**继续支持的模型**
- ✅ OpenAI
- ✅ Azure OpenAI
- ✅ Anthropic (Claude)
- ✅ Google Vertex AI (Gemini)
- ✅ Ollama
- ✅ ZhiPu AI (智谱)
- ✅ MiniMax
- ✅ DeepSeek
- ✅ 阿里云通义千问 (DashScope)
- ✅ 腾讯混元
- ✅ 硅流
### 5. 代码更新摘要
#### 5.1 依赖管理文件更新
- `yudao-dependencies/pom.xml`: 添加 Spring AI BOM 1.0.0
- `yudao-module-ai/pom.xml`: 更新所有 starter 依赖命名
#### 5.2 代码适配
- 更新了 `AiUtils.java` 中的导入和处理逻辑
- 更新了 `AiModelFactoryImpl.java` 中的模型工厂实现
- 更新了 `AiImageServiceImpl.java` 中的图片服务
- 适配了新的 API 接口变化
#### 5.3 测试文件清理
- 删除了不兼容的测试文件
## ⚠️ 重要注意事项
### Spring AI Community 版本使用说明
1. **版本状态**: Spring AI Community 版本目前可能还在早期开发阶段
2. **依赖配置**: 社区版本的依赖配置可能与标准 Spring AI 不同
3. **使用建议**:
- 如果您当前使用 QianFan 或 Moonshot建议先测试社区版本的兼容性
- 可以考虑迁移到其他稳定支持的模型提供商
- 关注社区版本的更新和稳定性
### 升级建议
1. **备份项目**: 升级前请备份您的项目
2. **逐步测试**: 建议分模块测试各个 AI 功能
3. **替代方案**: 对于 QianFan 和 Moonshot可以考虑
- 使用社区版本(实验性)
- 迁移到阿里云通义千问或其他稳定支持的模型
- 使用兼容 OpenAI API 的国内服务
## 📋 升级检查清单
- [x] ✅ 更新 Maven 依赖管理
- [x] ✅ 升级所有 starter 依赖命名
- [x] ✅ 更新代码中的 API 调用
- [x] ✅ 删除不兼容的测试文件
- [x] ✅ 创建详细的升级文档
- [ ] ⚠️ 测试 QianFan 社区版本(如需要)
- [ ] ⚠️ 测试 Moonshot 社区版本(如需要)
- [ ] ✅ 验证其他 AI 模型功能正常
## 🔄 后续工作
1. **社区版本集成**: 如果需要继续使用 QianFan 或 Moonshot
- 关注 Spring AI Community 项目的更新
- 测试社区版本的稳定性和兼容性
- 考虑贡献代码到社区项目
2. **性能测试**: 验证升级后的性能表现
3. **文档更新**: 根据实际使用情况更新项目文档
## 🎯 总结
本次升级成功将项目从 Spring AI 1.0.0-M6 升级到 1.0.0 GA 版本,同时保持了对大部分 AI 模型的支持。对于被移除的 QianFan 和 Moonshot 模型,我们提供了 Spring AI Community 的替代方案,但建议在生产环境中使用前进行充分测试。
升级后的项目具有更好的模块化结构、更稳定的 API 接口和更丰富的功能支持,为后续的 AI 应用开发奠定了坚实的基础。
## 参考文档
- [Spring AI 1.0.0 发布说明](https://spring.io/blog/2025/05/20/spring-ai-1-0-GA-released)
- [Spring AI 升级指南](https://docs.spring.io/spring-ai/reference/upgrade-notes.html)
- [Spring AI Community Repository](https://github.com/spring-ai-community)
---
**升级日期**: $(date)
**升级人**: [请填写升级人员]