# spring-ai-glm-examples **Repository Path**: xccit/spring-ai-glm-examples ## Basic Information - **Project Name**: spring-ai-glm-examples - **Description**: GLM调用starter的示例项目 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-29 - **Last Updated**: 2026-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring AI GLM 演示项目 一个基于 Spring AI 框架的智谱 GLM 大模型集成演示应用,提供完整的 API 接口和可视化界面。 ## 项目简介 本项目展示了如何通过 Spring AI 框架集成智谱 GLM 系列大模型,提供了丰富的功能演示接口,包括: - **对话生成**:文本聊天、角色扮演、流式响应 - **视觉理解**:图像识别、URL分析、Base64输入 - **图像生成**:文生图、图像编辑 - **视频生成**:文本转视频 - **音频处理**:语音合成、语音识别、实时语音 - **向量化**:文本Embedding、重排序 - **工具调用**:网页搜索、Excel分析、文件解析、OCR - **知识库**:知识库创建、检索、问答 - **Agent代理**:翻译、内容生成、办公效率、信息提取、教育 - **批处理**:批量任务管理 - **微调训练**:自定义微调任务 - **评估**:模型评测 - **文件管理**:文件上传、解析、删除 ## 技术栈 ### 后端 - Java 17+ - Spring Boot 3.x - Spring AI Framework - 智谱 API ### 前端 - Vue 3 - TypeScript - Vite ## 快速开始 ### 1. 配置环境变量 复制 `.env.example` 文件并重命名为 `.env`,填入您的智谱 API Key: ```bash cp .env.example .env ``` 编辑 `.env` 文件: ``` GLM_API_KEY=your_api_key_here ``` ### 2. 启动后端服务 ```bash ./mvnw spring-boot:run ``` 或使用 Maven: ```bash mvn spring-boot:run ``` 服务启动后访问:http://localhost:8080 ### 3. 启动前端开发服务器(可选) ```bash cd frontend npm install npm run dev ``` ## API 接口文档 核心接口位于 `/api/demo/` 路径下: | 功能 | 接口路径 | 请求方法 | |------|----------|----------| | 基础对话 | `/api/demo/chat` | POST | | 流式对话 | `/api/demo/chat/stream` | GET | | 模型列表 | `/api/demo/models` | GET | | 异步对话 | `/api/demo/models/async-chat` | POST | | 角色对话 | `/api/demo/models/role-chat` | POST | | 视觉理解 | `/api/demo/vision/image-url` | POST | | 图像生成 | `/api/demo/images/generate` | POST | | 视频生成 | `/api/demo/videos/generate` | POST | | 语音合成 | `/api/demo/audio/speech` | POST | | 语音识别 | `/api/demo/audio/transcriptions` | POST | | 向量化 | `/api/demo/embeddings` | POST | | 网页搜索 | `/api/demo/tools/web-search` | POST | | 创建知识库 | `/api/demo/knowledge` | POST | | 文件上传 | `/api/demo/files/upload` | POST | 详细 API 文档请参考代码中的 `GlmDemoController.java`。 ## 前端使用说明 打开Web界面后: 1. 选择需要测试的功能卡片(如 Chat、Vision、Image 等) 2. 在右侧配置模型参数和输入内容 3. 点击运行按钮获取结果 4. 结果会自动展示在下方,支持图片、视频、音频等多媒体格式 ## 项目结构 ``` ├── src/main/java/io/xccit/glm/demo/ │ ├── GlmXDemoApplication.java # 应用入口 │ └── controller/ │ ├── GlmDemoController.java # 核心控制器 │ └── ApiExceptionHandler.java # 异常处理 ├── frontend/ │ ├── src/ │ │ ├── App.vue # 主应用组件 │ │ ├── main.ts # 入口文件 │ │ └── style.css # 全局样式 │ ├── index.html │ ├── vite.config.ts │ └── package.json └── pom.xml # Maven 配置 ``` ## 配置说明 在 `src/main/resources/application.yml` 中可以配置: - API 基础地址 - 默认模型 - 连接超时时间 - 重试策略 ## 示例请求 ### 文本对话 ```bash curl -X POST http://localhost:8080/api/demo/chat \ -H "Content-Type: application/json" \ -d '{"text": "你好,请介绍一下自己"}' ``` ### 图像识别 ```bash curl -X POST http://localhost:8080/api/demo/vision/image-url \ -H "Content-Type: application/json" \ -d '{"imageUrl": "https://example.com/image.jpg", "prompt": "描述这张图片"}' ``` ## 注意事项 1. 使用前请确保已配置有效的智谱 API Key 2. 部分高级功能可能需要特定的模型权限 3. 音视频生成类任务为异步执行,可通过返回的 taskId 查询结果 ## License MIT License