A glimpse into Spring AI
Hyplus Project AI(HyProj-AI)是一个基于 Spring Boot 和 Spring AI 的大模型应用开发示例,支持多模态对话、会话历史管理、OpenAI 接入等功能,适合学习和二次开发。
- 支持文本和多模态(文件/图片)对话
- 集成 OpenAI GPT-4o-mini 等模型
- 支持会话 ID 生成与历史保存
- 数据库选型灵活(采用 SQLite 作示例,详见
db/db_init.md) - 响应式接口,基于 WebFlux
- 代码简洁,易于扩展
- JDK 17 及以上
- Maven 3.9+
- 推荐使用 IntelliJ IDEA
- 网络可访问 OpenAI API
- 克隆项目
git clone https://github.com/hyperplasma/hyproj-ai.git
cd hyproj-ai-
配置环境变量
- 在本地环境设置
OPENAI_API_KEY,或在application.yaml中直接填写。
- 在本地环境设置
-
构建并运行
./mvnw spring-boot:run- 访问接口
- 默认服务端口:
8080 - 可通过 Postman 或 curl 调用接口
- 默认服务端口:
- GET
/ai/connect?type={type} - 参数:type(会话类型,如 chat)
- 返回:生成的会话 ID
-
POST
/ai/chat -
请求体(JSON):
{ "prompt": "你的问题", "chatId": "会话ID", "files": null }files可选,不传为纯文本对话,传文件为多模态对话
-
返回:流式文本响应
更多接口详见 controller。
配置文件:src/main/resources/application.yaml
- 配置 OpenAI API Key 和模型参数
- 配置数据库路径(详见
db/db_init.md)
示例片段:
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
base-url: https://api.gptgod.online/
chat:
options:
model: gpt-4o-mini
datasource:
url: jdbc:sqlite:hyproj-ai.sqlite
driver-class-name: org.sqlite.JDBC- Spring Boot 3.5.x
- Spring AI 1.0.x
- SQLite JDBC
- MyBatis-Plus
- Lombok
如需更多帮助,请访问 Hyperplasma。