文件最后提交记录最后更新时间
feat: Upgrade Spring AI to 1.1.0. Upgrade Spring AI Alibaba to 1.1.0.0-M5. (#402) feat: Upgrade Spring AI to 1.1.0. Upgrade Spring AI Alibaba to 1.1.0.0-M5.6 个月前
Feat claudecode skill (#408) * feat: 为项目生成完整的API文档和模块文档 - 新增Claude Code技能框架:http-generate、readme-generate、skill-creator - 为76个包含Web接口的模块生成.http文件,涵盖100+个Controller类 - 为46个缺少文档的模块生成README.md文件,包含完整的API文档和使用说明 - 更新CLAUDE.md文件,提供项目开发指导 - 新增task/module-generate.md文档,描述自动化文档生成任务 生成的文档特点: - HTTP文件:包含完整的REST API请求示例,支持IDE直接运行 - README文件:统一的中文文档格式,包含功能介绍、API文档、使用示例、技术实现等 - 提升项目文档完整性,降低开发者学习和使用门槛 🤖 Generated with [Claude Code](https://claude.ai/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix: 恢复被覆盖的重要README文件,整合原有技术文档与新生成API文档 ## 恢复的关键文档 ### RAG相关模块 - **rag-milvus-example**: 恢复Milvus向量数据库配置、Docker部署、集合加载步骤 - **rag-elasticsearch-example**: 恢复Local/Cloud RAG流程详解、Elasticsearch配置 - **rag-pgvector-example**: 恢复PostgreSQL+pgvector数据库创建脚本、HNSW索引配置 - **rag-openai-dashscope-pgvector-example**: 恢复MXY RAG Server架构、多模型集成 - **module-rag**: 恢复Spring AI Module RAG技术架构、Pre-Retrieval模块详解 ### 基础模块 - **helloworld**: 恢复完整的入门示例,包含环境配置、快速开始指南 ## 恢复的重要内容 ### 技术实现细节 - 详细的数据库配置和SQL脚本 - Docker Compose部署指南 - 向量索引创建和优化配置 - RAG流程的完整技术说明 ### 配置和部署 - application.yml完整配置示例 - 环境变量和依赖说明 - 性能优化建议 - 故障排查指南 ### API文档整合 - 保留新生成的标准化API文档格式 - 整合原有的curl命令示例 - 统一的接口说明和参数描述 ## 改进效果 ✅ **技术完整性**: 恢复了丢失的重要技术实现细节 ✅ **配置完整性**: 保留了完整的部署和配置说明 ✅ **文档一致性**: 统一了文档格式,同时保留了重要信息 ✅ **可用性提升**: 开发者可以获得完整的使用指南 ## 文件统计 - 恢复了6个重要的README文件 - 保留了原有的技术细节和配置说明 - 整合了新生成的API文档格式 - 新增readme-overwrite.md任务文档 🤖 Generated with [Claude Code](https://claude.ai/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * fix: doc * fix: doc --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>5 个月前
upgrade to rc1 1 年前
bugfix: fixed issues such as mismatch between port numbers in .http files and .yml files, and some formatting problems. (#412) * bugfix:ensure the correct port number and formatting issues * bugfix:ensure the correct port number and formatting issues --------- Co-authored-by: maple <14118288+gao-shengkai525866@user.noreply.gitee.com>5 个月前
README.md

Spring AI Alibaba 多平台和多模型使用示例

接口文档

MorePlatformController 接口

1. chat 方法

接口路径: GET /no-platform/{platform}/{prompt}

功能描述: 提供 chat 相关功能

主要特性:

  • 基于 Spring Boot REST API 实现
  • 返回 JSON 格式响应
  • 支持 UTF-8 编码

使用场景:

  • AI 对话交互
  • 智能问答系统
  • API 集成测试

示例请求:

GET http://localhost:8080/no-platform/{platform}/{prompt}

MoreModelCallController 接口

1. modelChat 方法

接口路径: GET /no-model/{model}/{prompt}

功能描述: 提供 modelChat 相关功能

主要特性:

  • 基于 Spring Boot REST API 实现
  • 返回 JSON 格式响应
  • 支持 UTF-8 编码

使用场景:

  • AI 对话交互
  • 智能问答系统
  • API 集成测试

示例请求:

GET http://localhost:8080/no-model/{model}/{prompt}

技术实现

核心组件

  • Spring Boot: 应用框架
  • Spring AI Alibaba: AI 功能集成
  • REST Controller: HTTP 接口处理
  • spring-boot-starter-web: 核心依赖
  • spring-ai-alibaba-starter-dashscope: 核心依赖
  • spring-ai-starter-model-ollama: 核心依赖
  • spring-ai-starter-model-openai: 核心依赖

配置要点

  • 需要配置 AI_DASHSCOPE_API_KEY 环境变量
  • 默认端口:8080
  • 默认上下文路径:/basic

测试指导

使用 HTTP 文件测试

模块根目录下提供了 spring-ai-alibaba-more-platform-and-model-example.http 文件,包含所有接口的测试用例:

  • 可在 IDE 中直接执行
  • 支持参数自定义
  • 提供默认示例参数

使用 curl 测试

# chat 接口测试
curl "http://localhost:8080/no-platform/{platform}/{prompt}"
# modelChat 接口测试
curl "http://localhost:8080/no-model/{model}/{prompt}"

注意事项

  1. 环境变量: 确保 AI_DASHSCOPE_API_KEY 已正确设置
  2. 网络连接: 需要能够访问阿里云 DashScope 服务
  3. 字符编码: 所有响应使用 UTF-8 编码,支持中文内容
  4. 端口配置: 确保端口 8080 未被占用

此 README.md 由自动化工具生成于 2025-12-11 00:51:02

模块说明

本示例展示如何在 Spring AI Alibaba 中使用多个不同的模型平台和平台上的不同模型。。

示例说明

本示例展示如何在 Spring AI Alibaba 中使用多个不同的模型平台和平台上的不同模型。

此示例项目已经完成代码编写,不需要任何改动! 关于如何部署 ollama 及模型,请参考 Ollama Docker 部署

名词解释

注意区分开概念。

  • 平台:DashScope,OpenAI,Ollama 等
  • 模型:DashScope 上的 Deepseek-r1 qwen-plug 等

多平台示例

在 pom.xml 中引入 Spring AI 和 Spring AI Alibaba Starter 依赖。

注意指定版本,此示例项目版本已经在根 pom 中指定。

<dependency>
    <groupId>com.alibaba.cloud.ai</groupId>
    <artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>

在 controller 类中注入不同的 ChatModel 实现。

此处需要使用 @Qualifier 注解指定具体的 ChatModel 实现。

private final ChatModel dashScopeChatModel;

private final ChatModel ollamaChatModel;

public MoreClientController(
        @Qualifier("dashScopeChatModel") ChatModel dashScopeChatModel,
        @Qualifier("ollamaChatModel") ChatModel OllamaChatModel
) {
    this.dashScopeChatModel = dashScopeChatModel;
    this.ollamaChatModel = OllamaChatModel;
}

不使用构造注入时,使用注解联合注入。推荐使用构造注入,

@Autowired
@Qualifier("dashScopeChatModel")
private ChatModel getDashScopeChatModel;

启动项目,发送请求,查看输出,同时可在控制台中看到 ChatModel 的不同实现 bean。

Spring AI Alibaba DashScope 最新版本已经适配 DeepSeek Reasoning Content。

$ curl 127.0.0.1:10014/no-platform/ollama/hi

Hello! How can I assist you today? 😊

$ curl 127.0.0.1:10014/no-platform/dashscope/hi

Hello! How can I assist you today?

多模型示例

此示例以 DashScope 平台中的模型为例。

// 声明可用模型
private final Set<String> modelList = Set.of(
        "deepseek-r1",
        "deepseek-v3",
        "qwen-plus",
        "qwen-max"
);

构建运行时 options:

ChatOptions runtimeOptions = ChatOptions.builder().model(model).build();

发起模型调用:

Generation gen = dashScopeChatModel.call(
                    new Prompt(prompt, runtimeOptions))
            .getResult();

完整代码:

@RestController
@RequestMapping("/no-model")
public class MoreModelCallController {

	private final Set<String> modelList = Set.of(
			"deepseek-r1",
			"deepseek-v3",
			"qwen-plus",
			"qwen-max"
	);

	private final ChatModel dashScopeChatModel;

	public MoreModelCallController(
			@Qualifier("dashScopeChatModel") ChatModel dashScopeChatModel
	) {
		this.dashScopeChatModel = dashScopeChatModel;
	}

	@GetMapping("/{model}/{prompt}")
	public String modelChat(
			@PathVariable("model") String model,
			@PathVariable("prompt") String prompt
	) {

		if (!modelList.contains(model)) {
			return "model not exist";
		}

		System.out.println("===============================================");
		System.out.println("当前输入的模型为:" + model);
		System.out.println("默认模型为:" + DashScopeApi.ChatModel.QWEN_PLUS.getModel());
		System.out.println("===============================================");

		ChatOptions runtimeOptions = ChatOptions.builder().model(model).build();

		Generation gen = dashScopeChatModel.call(
						new Prompt(prompt, runtimeOptions))
				.getResult();

		return gen.getOutput().getText();
	}

}

发起请求:


## ChatClient 多模型和多平台示例


### 多模型
```shell
curl -G "http://localhost:10014/more-model-chat-client" \
     --data-urlencode "prompt=你好" \
     --header "models=deepseek-r1"

此 README.md 由自动化工具融合更新于 2025-12-11 00:41:32

融合策略:保留了原有的技术文档内容,并添加了自动生成的 API 文档部分


此 README.md 由自动化工具融合更新于 2025-12-11 00:51:02

融合策略:保留了原有的技术文档内容,并添加了自动生成的 API 文档部分