# spring AI Alibaba 实战指南 **Repository Path**: andy1234/spring-ai-alibaba ## Basic Information - **Project Name**: spring AI Alibaba 实战指南 - **Description**: 《spring AI Alibaba 实战指南》 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-07-17 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring AI Alibaba ChatBot 示例 Spring AI Alibaba 是一个基于 Spring AI 框架并集成阿里云大语言模型能力的聊天机器人示例项目。 ## 功能特性 - 简洁的 REST API 接口 - 基于 Spring AI Alibaba 框架 - 支持流式响应(可选) - 对话上下文记忆 - 易于扩展和定制 ## 技术栈 - **框架**: Spring Boot 3.x - **AI 框架**: Spring AI Alibaba - **模型**: 智谱 AI (Zhipu AI) GLM 系列 - **构建工具**: Maven ## 快速开始 ### 前置要求 - JDK 17 或更高版本 - Maven 3.6+ - 智谱 AI API Key ### 配置 API Key #### Windows PowerShell ```powershell $env SPRING_AI_ALIBABA_API_KEY="your-api-key" ``` #### Windows CMD ```cmd set SPRING_AI_ALIBABA_API_KEY=your-api-key ``` #### Linux/Mac ```bash export SPRING_AI_ALIBABA_API_KEY=your-api-key ``` ### 运行项目 ```bash cd spring-ai-alibaba-hello mvn spring-boot:run ``` ### 访问 API 项目启动后,访问以下端点: - **基础对话**: `http://localhost:8080/chat/simple?query=你的问题` ## 测试示例 ### 第一次请求 ``` GET /chat/simple?query=你好,请介绍一下自己 ``` ### 第二次请求(模型会记住上下文) ``` GET /chat/simple?query=我刚才问你什么问题? ``` ## 配置说明 在 `src/main/resources/application.yml` 中配置: ```yaml spring: ai: alibaba: api-key: ${SPRING_AI_ALIBABA_API_KEY} chat: options: model: glm-4 temperature: 0.7 ``` ## 控制器说明 `ChatController.java` 提供以下端点: - `GET /chat/simple` - 简单对话接口 - 参数: `query` - 用户输入的问题 - 返回: 模型回复的文本 ## 项目结构 ``` spring-ai-alibaba-hello/ ├── src/main/ │ ├── java/com/alibaba/cloud/ai/examples/chatbot/ │ │ ├── ChatController.java │ │ └── ChatbotApplication.java │ └── resources/ │ └── application.yml ├── pom.xml └── README.md ``` ## 智谱AI 模型选择 推荐使用以下模型: - `glm-4` - 旗舰版模型,功能强大 - `glm-4-flash` - 轻量级模型,响应快速 - `glm-3-turbo` - 经济实惠 ## 故障排查 ### 依赖冲突 如果遇到依赖冲突,检查 pom.xml 中 Spring AI 和 Spring Boot 版本是否兼容。 ### API Key 错误 确保 API Key 正确配置且未过期。可以在 application.yml 中直接配置或通过环境变量设置。 ## 许可证 本项目基于 Apache License 2.0 开源协议。