1.DeepSeek官方给出的API调用大模型代码
python
from openai import OpenAI
# 1.初始化OpenAI客户端
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
# 2.发送http请求到大模型
response = client.chat.completions.create(
model="deepseek-r1",
messages=[
{"role": "system", "content": "你是一个热心的AI助手,你的名字叫小团团"},
{"role": "user", "content": "你好,你是谁?"},
],
stream=False
)
# 3.打印返回结果
print(response.choices[0].message.content)
2.大模型应用开发过程

3.SpringAI对话机器人入门
①引入 Maven 依赖 → ②yml 配置模型地址与模型名 →③写 @Bean 配置 ChatClient 客户端,调用对话(普通阻塞调用 / Flux 流式输出)
pom.xml 引入依赖
html
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring‑ai‑bom</artifactId>
<version>${spring‑ai.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Ollama 的 starter 启动依赖
html
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring‑ai‑ollama‑spring‑boot‑starter</artifactId>
</dependency>
application.yml(配置模型)
java
spring:
ai:
ollama:
base‑url: http://localhost:11434
chat:
model: deepseek‑r1:7b
解释:
base‑url:本地 Ollama 后台服务地址,默认端口就是 11434;如果 ollama 部署别的机器就改成对应 ip。model:指定使用本地已经下载好的大模型名字;注意模型名字必须和 ollama pull 下载的完全一致。
java
spring:
ai:
openai:
base‑url: https://dashscope.aliyuncs.com/compatible‑mode
api‑key: ${OPENAI_API_KEY}
chat:
options:
model: qwen‑max
temperature: 0.8
配置 ChatClient 客户端 + 调用(Java 代码)
@Bean 生成 ChatClient 对象
java
@Configuration
public class AiConfig {
@Bean
public ChatClient chatClient(OllamaChatModel model){
return ChatClient.builder(model)
// defaultSystem:全局系统提示词,设定AI角色(人设)
.defaultSystem("你是可爱的助手,名字叫小团团")
.build();
}
}
解释关键点:
OllamaChatModel:由 starter 自动创建,直接作为方法入参注入进来。ChatClient.builder(model)使用构造器模式构建客户端实例。defaultSystem():全局系统提示词,设置 AI 助手的身份人设;后面每一次对话默认都会带上这条角色指令。
① call () 普通阻塞调用(一次性返回全部回答字符串)在controller里面

java
// user("你是谁?") 用户提问;call()阻塞等待全部结果返回;content拿到回答文本
String content = chatClient.prompt()
.user("你是谁?")
.call()
.content();
阻塞式;等大模型完整生成完所有文字之后一次性返回结果;前端看到的是一下子整段回复。
② stream () 流式输出(Flux<String>,打字机效果,一段一段返回)
java
import reactor.core.publisher.Flux;
Flux<String> content = chatClient.prompt()
.user("你是谁?")
.stream()
.content();
4.会话日志
java
@Bean
public ChatClient chatClient(AlibabaOpenAiChatModel model, ChatMemory chatMemory) {
return ChatClient
.builder(model)//绑定大模型model
.defaultSystem("你是一个热心、可爱的智能助手,你的名字叫小团团,请以小团团的身份和语气回答问题。")
.defaultAdvisors(//拦截器
new SimpleLoggerAdvisor(),//日志打印
new MessageChatMemoryAdvisor(chatMemory)//会话记忆
)
.build();
}
日志配置
bash
logging:
level:
org.springframework.ai: debug
com.itheima.ai: debug
- 发给通义模型完整 Prompt(包含 system 角色词 + chatMemory 拼接的历史上下文)
- 大模型返回原始 JSON 响应内容。