# test001 **Repository Path**: ShyHour/test001 ## Basic Information - **Project Name**: test001 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-09 - **Last Updated**: 2026-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Boot + 智谱 GLM-4.7 对话助手 基于 Spring Boot 2.7 + Thymeleaf 的智能对话应用,直接集成智谱 GLM-4.7 大语言模型 API。 ## 功能特性 - 支持多个智谱 GLM 模型(GLM-4-Plus、GLM-4-Air、GLM-4-Flash 等) - 美观的渐变UI界面 - 响应式设计,支持移动端 - 实时对话交互 - 模型切换功能 - **支持 JDK 8** ## 技术栈 - **JDK** 8 - **Spring Boot** 2.7.18 - **Thymeleaf** 模板引擎 - **OkHttp** HTTP 客户端 - **Gson** JSON 处理 - **Maven** 构建工具 ## 项目结构 ``` src/ ├── main/ │ ├── java/com/example/ai/ │ │ ├── AiDemoApplication.java # 主应用类 │ │ ├── controller/ │ │ │ └── ChatController.java # 控制器 │ │ ├── service/ │ │ │ └── ChatService.java # 聊天服务 │ │ └── model/ │ │ ├── ChatMessage.java # 聊天消息实体 │ │ ├── ChatRequest.java # API请求实体 │ │ └── ChatResponse.java # API响应实体 │ └── resources/ │ ├── application.yml # 应用配置 │ ├── templates/ │ │ └── index.html # Thymeleaf模板 │ └── static/ │ └── css/ │ └── style.css # 样式文件 ``` ## 环境要求 - JDK 8 或更高版本 - Maven 3.6 或更高版本 ## 快速开始 ### 1. 获取智谱 API Key 访问 [智谱AI开放平台](https://open.bigmodel.cn/) 注册账号并获取 API Key。 ### 2. 配置 API Key 编辑 `src/main/resources/application.yml` 文件: ```yaml glm: api: key: your-api-key-here # 替换为你的 API Key ``` 或者通过环境变量设置: ```bash export GLM_API_KEY=your-api-key-here ``` Windows: ```cmd set GLM_API_KEY=your-api-key-here ``` ### 3. 构建项目 ```bash mvn clean package ``` ### 4. 运行应用 ```bash mvn spring-boot:run ``` 或者直接运行 JAR 包: ```bash java -jar target/spring-ai-glm-demo-1.0.0.jar ``` ### 5. 访问应用 打开浏览器访问:`http://localhost:8080` ## 支持的模型 - **glm-4-plus** - 智谱最强模型(推荐) - **glm-4-0520** - GLM-4 版本 - **glm-4-air** - 轻量级模型 - **glm-4-airx** - 增强版轻量模型 - **glm-4-flash** - 快速响应模型 - **glm-4-flashx** - 增强版快速模型 ## 配置说明 ### application.yml ```yaml server: port: 8080 # 服务端口 glm: api: key: your-api-key-here # 你的 API Key url: https://open.bigmodel.cn/... # 智谱 API 地址(通常不需要修改) model: glm-4-plus # 默认模型 ``` ## API 端点 - `GET /` - 主页面 - `POST /chat` - 发送聊天消息 - 参数:`message`(消息内容)、`model`(模型名称) - `GET /models` - 获取支持的模型列表 ## 开发说明 ### 实现原理 - 使用 OkHttp 直接调用智谱 AI 的 REST API - 智谱 API 兼容 OpenAI 的 API 格式 - 使用 Gson 进行 JSON 序列化和反序列化 ### 自定义配置 如需修改默认模型或其他参数,编辑 `application.yml`: ```yaml glm: api: model: glm-4-flash # 修改默认模型 ``` 或修改 `ChatService.java` 中的 `buildRequest` 方法: ```java private ChatRequest buildRequest(String message, String model) { // ... request.setTemperature(0.5); // 修改温度参数 // ... } ``` ### 扩展功能 #### 添加流式输出 修改 `ChatService` 以支持 Server-Sent Events (SSE): ```java public void chatStream(String message, String model, Consumer callback) { // 实现 SSE 流式调用 } ``` #### 添加对话历史 在 `ChatService` 中维护对话历史: ```java private List conversationHistory = new ArrayList<>(); public String chat(String message) { conversationHistory.add(new ChatMessage("user", message)); // ... 发送请求 conversationHistory.add(new ChatMessage("assistant", response)); return response; } ``` ## 常见问题 ### Q: 如何获取智谱 API Key? A: 访问 https://open.bigmodel.cn/ 注册账号后在控制台获取。 ### Q: 为什么返回 401 错误? A: 检查 API Key 是否正确配置。 ### Q: 为什么返回超时? A: 检查网络连接,或调整 `ChatService` 中的超时配置。 ### Q: 如何切换模型? A: 在页面顶部的下拉菜单中选择不同的模型。 ### Q: 支持流式输出吗? A: 当前版本不支持流式输出,如需此功能可以扩展 `ChatService`。 ### Q: 支持 JDK 11/17 吗? A: 支持,项目兼容 JDK 8 及以上版本。 ## 许可证 MIT License