# AI-DEV **Repository Path**: kanen/ai-dev ## Basic Information - **Project Name**: AI-DEV - **Description**: 基于SAA(SpringAI Alibaba)的AI开发示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-05 - **Last Updated**: 2026-03-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Dev - Spring AI 学习项目 本项目是一个完整的 Spring AI 学习教程,通过 18 个循序渐进的模块,全面讲解如何在 Java Spring Boot 环境中集成和运用各种 AI 能力。 ## 项目简介 本项目基于 Spring AI 框架,涵盖了从基础的对话模型调用到高级的 RAG(检索增强生成)、MCP(模型上下文协议)等核心技术。每个模块都提供了完整的示例代码,方便开发者快速上手和实践。 ## 技术栈 - **框架**: Spring Boot 3.x + Spring AI - **构建工具**: Maven - **AI 供应商**: 阿里云百炼(DashScope)、Ollama(本地部署) - **其他技术**: Redis(持久化存储)、向量数据库 ## 模块介绍 | 模块 | 名称 | 说明 | |------|------|------| | SAA-01 | HelloWorld | 快速入门,调用阿里云百炼对话模型 | | SAA-02 | Ollama | 使用本地 Ollama 部署的 LLM | | SAA-03 | ChatModel & ChatClient | 两种 AI 客户端使用方式 | | SAA-04 | StreamingOutput | 流式输出,实现实时响应 | | SAA-05 | Prompt | Prompt 工程基础 | | SAA-06 | PromptTemplate | 模板化提示词 | | SAA-07 | StructuredOutput | 结构化输出,转换为 Java 对象 | | SAA-08 | Persistent | 基于 Redis 的对话记忆持久化 | | SAA-09 | Text2Image | 文本生成图像 | | SAA-10 | Text2Voice | 文本转语音 | | SAA-11 | Embed2Vector | 文本向量化与向量存储 | | SAA-12 | RAG4AiOps | RAG 技术在智能运维中的应用 | | SAA-13 | ToolCalling | 工具调用,扩展 AI 能力 | | SAA-14 | LocalMcpServer | 本地 MCP 服务(天气查询示例) | | SAA-15 | LocalMcpClient | MCP 客户端调用 | | SAA-16 | ClientCallBaiduMcpServer | 调用百度 MCP 服务 | | SAA-17 | BailianRAG | 阿里云百炼 RAG 方案 | | SAA-18 | TodayMenu | Agent 智能体应用(今日菜单) | ## 快速开始 ### 环境要求 - JDK 21(如果用eclispe最好使用eclipse-2025-12及以上的版本,idea使用适配jdk21的版本即可) - Maven 3.8+ - Redis(部分模块需要) ### 配置文件 在运行各模块前,需在 `src/main/resources/application.properties` 中配置必要的 API Key: (脱敏设计:aliQwen-api可以放到系统环境变量里,设置好之后,需要把IDE重启一下) ![环境变量配置](../master/bin/env.png) ```properties # 阿里云百炼 API Key spring.ai.dashscope.api-key=your-api-key # Ollama 配置(本地部署) spring.ai.ollama.base-url=http://localhost:11434 # Redis 配置 spring.data.redis.host=localhost spring.data.redis.port=6379 ``` ### 启动方式 每个模块都是独立的 Spring Boot 应用,可单独启动: ```bash # 进入模块目录 cd SAA-01HelloWorld # 启动应用 ./mvnw spring-boot:run ``` ## 示例接口 各模块提供了丰富的 REST API 接口,以下是部分示例: - `GET /hello/dochat` - 基础对话 - `GET /hello/streamchat` - 流式对话 - `GET /chatmodel/dochat` - 使用 ChatModel 对话 - `GET /chatclient/dochat` - 使用 ChatClient 对话 - `GET /prompt/chat` - Prompt 工程 - `GET /prompttemplate/chat` - 模板化提示词 - `GET /structuredoutput/chat` - 结构化输出 - `GET /chatmemory/chat` - 带记忆的对话 - `GET /t2i/image` - 文本生成图像 - `GET /t2v/voice` - 文本转语音 - `GET /text2embed` - 文本向量化 - `GET /rag4aiops` - RAG 智能问答 - `GET /toolcall/chat` - 工具调用 - `GET /mcp/chat` - MCP 服务调用 - `GET /eatAgent` - 智能菜单推荐 Agent ## 学习路径 建议按以下顺序学习: 1. **入门阶段**: SAA-01 → SAA-03(掌握基础调用) 2. **进阶阶段**: SAA-04 → SAA-07(深入 Prompt 与输出) 3. **实战阶段**: SAA-08 → SAA-11(记忆、多模态、向量) 4. **高级阶段**: SAA-12 → SAA-18(RAG、Tool、MCP、Agent) ## 许可证 本项目仅供学习交流使用。