spring-ai-chat

star 623

集成 Spring AI 聊天功能。当用户想要与 AI 模型对话、创建聊天端点或处理 AI 对话流程时使用此技能。

bage2014 By bage2014 schedule Updated 6/10/2026

name: "spring-ai-chat" description: "集成 Spring AI 聊天功能。当用户想要与 AI 模型对话、创建聊天端点或处理 AI 对话流程时使用此技能。"

Spring AI 聊天集成

功能描述

提供 AI 聊天交互能力,支持与多种大语言模型进行对话,基于 Spring AI 框架实现。

何时使用

在以下情况调用此技能:

  • 创建聊天端点或 API
  • 集成新的 AI 聊天模型
  • 添加聊天相关功能
  • 处理 AI 对话流程

核心功能

  • 多模型支持:支持 OpenAI、DeepSeek 等多种 AI 模型
  • 聊天对话:支持简单聊天和完整对话流程
  • 参数配置:支持温度、token 数量等参数配置
  • 流式响应:支持流式输出模式

输入参数

参数 类型 必填 说明
model String 模型名称(默认使用配置的模型)
message String 用户消息
temperature Double 温度参数(0-1,默认0.7)
maxTokens Integer 最大 token 数(默认2048)
options Map 其他配置选项

输出格式

{
  "provider": "deepseek",
  "content": "AI 回复内容",
  "model": "deepseek-chat",
  "usage": {
    "promptTokens": 100,
    "completionTokens": 50
  },
  "success": true,
  "errorMessage": null
}

支持模型

模型类型 模型名称 配置方式
DeepSeek deepseek-chat 环境变量配置
OpenAI gpt-3.5-turbo 环境变量配置
OpenAI gpt-4 环境变量配置

API 调用示例

# 简单聊天
curl -X POST http://localhost:8080/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "你好,AI!"
  }'

# 指定模型
curl -X POST http://localhost:8080/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek",
    "message": "解释一下量子计算",
    "temperature": 0.7,
    "maxTokens": 2048
  }'

# 流式响应
curl -X POST http://localhost:8080/api/chat/stream \
  -H "Content-Type: application/json" \
  -d '{
    "message": "写一首诗"
  }'

使用模式

// 注入 ChatService
private final ChatService chatService;

// 简单聊天
ChatResponse response = chatService.chat("你好 AI!");

// 指定模型
ChatResponse response = chatService.chat("deepseek", "你好!");

// 完整请求
ChatRequest request = new ChatRequest("deepseek", "你好", 0.7, 2048, Map.of());
ChatResponse response = chatService.chat(request);

核心组件

组件 职责 文件路径
ChatService 聊天服务接口 service/ChatService.java
ChatServiceImpl 聊天服务实现 service/impl/ChatServiceImpl.java
ChatController REST API 控制层 controller/ChatController.java
ChatRequest 请求 DTO model/ChatRequest.java
ChatResponse 响应 DTO model/ChatResponse.java

配置要求

环境变量

变量名 说明 默认值
DEEPSEEK_API_KEY DeepSeek API Key -
DEEPSEEK_BASE_URL DeepSeek API 地址 https://api.deepseek.com/v1
OPENAI_API_KEY OpenAI API Key -
OPENAI_BASE_URL OpenAI API 地址 https://api.openai.com/v1
SERVER_PORT 服务端口 8080

配置文件

# application.yml
server:
  port: ${SERVER_PORT:8080}

spring:
  ai:
    openai:
      base-url: ${DEEPSEEK_BASE_URL:https://api.deepseek.com/v1}
      api-key: ${DEEPSEEK_API_KEY}
      chat:
        options:
          model: deepseek-chat
          temperature: 0.7
          max-tokens: 2048

添加新的聊天功能

  1. ChatService.java 中添加方法
  2. model 包中创建请求/响应 DTO
  3. ChatController.java 中添加控制器端点

扩展指南

添加新的模型提供者

  1. 实现 ModelProvider 接口
  2. 创建对应的配置类
  3. ModelProviderManager 中注册

自定义聊天逻辑

继承 ChatServiceImpl 并重写相关方法,实现自定义业务逻辑。

目录结构

src/main/java/com/bage/study/ai/best/practice/hello/
├── controller/
│   └── ChatController.java
├── service/
│   ├── ChatService.java
│   └── impl/
│       └── ChatServiceImpl.java
├── model/
│   ├── ChatRequest.java
│   └── ChatResponse.java
├── provider/
│   └── ModelProvider.java
└── config/
    └── ChatConfig.java
Install via CLI
npx skills add https://github.com/bage2014/study --skill spring-ai-chat
Repository Details
star Stars 623
call_split Forks 111
navigation Branch main
article Path SKILL.md
More from Creator