【SpringAI 入门05】调用大模型

deepseek官方API文档 自己详细看看

在这里插入图片描述

先看一段deepseek官方调用对话 API文档给出的一段代码:

java 复制代码
# Please install OpenAI SDK first: `pip3 install openai`
import os
from openai import OpenAI
// 初始化OpenAI客户端
client = OpenAI(
    api_key=os.environ.get('DEEPSEEK_API_KEY'),
    base_url="https://api.deepseek.com")

// 发送hhtp请求到大模型
response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False,
    reasoning_effort="high",
    extra_body={"thinking": {"type": "enabled"}}
)
// 打印返回的结果
print(response.choices[0].message.content)

我们对这段代码做一个解释:

这段是基于OpenAI官方Python SDK兼容模式,调用DeepSeek深度求索大模型接口的完整代码,我们可以逐行拆解它的作用和细节:

一、代码整体功能说明

这是一段兼容OpenAI SDK接口规范的调用脚本,它实现了用DeepSeek平台的专属API密钥,向DeepSeek的deepseek-v4-pro大模型发送对话请求,并最终打印模型返回的回复内容。

二、逐段细节解释

导入依赖与初始化客户端‌

from openai import OpenAI:导入OpenAI官方提供的Python SDK客户端类,DeepSeek完全兼容这套接口协议,所以不需要单独安装DeepSeek的专属SDK就可以直接调用它的接口。

接下来的client = OpenAI(...)是初始化客户端实例:

api_key=os.environ.get('DEEPSEEK_API_KEY'):从系统环境变量中读取提前配置好的DeepSeek API密钥,这种写法可以避免把密钥硬编码在代码里,防止密钥泄露。

base_url="https://api.deepseek.com":替换默认的OpenAI官方接口地址,指向DeepSeek的官方API服务端点,让所有后续请求都发送到DeepSeek的服务集群而非OpenAI的海外服务。

发起对话生成请求‌

这部分通过client.chat.completions.create()方法向大模型提交请求,核心参数含义如下:

model="deepseek-v4-pro":指定本次要调用的模型版本为DeepSeek最新的高阶推理模型deepseek-v4-pro。

messages:传入对话上下文数组,这是大模型对话接口的标准格式:第一条是system角色的系统提示词,定义助手身份为"乐于助人的助手";第二条是user角色的用户输入内容为简单问候语"Hello"。

stream=False:关闭流式输出模式,接口会等模型完整生成全部回复内容后一次性返回,而非逐块推送内容。

reasoning_effort="high":指定模型使用最高等级的推理算力,适合需要深度逻辑推导的复杂任务,模型会分配更多资源来保证输出结果的准确性。

extra_body={"thinking": {"type": "enabled"}}:开启DeepSeek模型的"思考过程输出"功能,模型会在返回结果中附带它内部推理的完整思路,帮助你排查它的推导逻辑是否合理。

打印最终返回结果‌

print(response.choices0.message.content):从接口返回的响应对象中,取出第一条生成结果里的模型回复内容,并在控制台打印输出。

通过postman调用ollama接口,帮你发送到大模型

ollama API: http://localhost:11434/api/chat post请求

入参:

java 复制代码
{
    "model": "deepseek-r1:latest",
    "messages": [
        {
            "role": "system",
            "content": "你是一个智能的AI助手,你的名字叫毛毛虫,请以毛毛虫的身份回答用户的问题"
        },
        {
            "role": "user",
            "content": "你是谁?"
        }
    ],
    "stream":false
}

返回值:

java 复制代码
{
    "model": "deepseek-r1:latest",
    "created_at": "2026-07-10T08:06:17.8324055Z",
    "message": {
        "role": "assistant",
        "content": "\n我是毛毛虫,一个聪明又乐于助人的AI助手!有什么需要帮忙的地方尽管告诉我哦~",
        "thinking": "\n嗯~用户问了一个很基础但也很重要的问题呢。作为新交互界面的第一个提问,ta可能想确认我的身份和功能边界。\n\n"我是毛毛虫"这个回答既交代了身份又保持了一定的趣味性,符合设定要求。不过用户没有上下文信息的情况下,可能会觉得这个名字不够明确或专业。\n\n考虑到这是初次互动,我需要平衡亲切感和功能性。可以适当解释名字由来的隐喻意义------成长过程、连接过去与未来这些点都能暗示后续可能提供的帮助范围。"你的AI助手"这个身份标识也很关键,能快速建立信任关系。\n\n用户此刻应该处于试探阶段,ta在测试我的反应速度和回答风格。保持温暖活泼的语气很重要,但也要避免过度卖萌显得不专业。\n"
    },
    "done": true,
    "done_reason": "stop",
    "total_duration": 53585710900,
    "load_duration": 274050300,
    "prompt_eval_count": 28,
    "prompt_eval_duration": 651895000,
    "eval_count": 188,
    "eval_duration": 52576896000
}

这里deepseek-v4-pro这个我们就不跑了,这个模型需要1.6T,所以这个是电脑配置不行,本地部署不合适,我们测试就用了模型:deepseek-r1

相关推荐
艾莉丝努力练剑4 小时前
【AI接入大模型SDK】ChatSDK示例验证
人工智能·学习·面试·大模型·sdk
前沿在线11 小时前
百度文心助手推出任务引擎 2.0,日活用户同比增长 83%,日均对话轮次增长超 2 倍
人工智能·ai·大模型
thesky12345613 小时前
27届大模型面试准备(四十四):生成式世界模型与视频生成——从 JEPA 到 Sora/Genie
大模型·视频生成·sora·世界模型·jepa·生成式世界模型·dreamer
赵大仁18 小时前
Structured Output 落地:JSON Schema、重试与前端校验
前端·ai·大模型·工程化·json schema
小七-七牛开发者18 小时前
dsh 拆解系列 Vol.01:没有特权内核的 Agent 运行时
ai·大模型·agent·claude·token·工作流·skill·claudecode·ai coding
Raas1001 天前
MAI Gateway (魔芋企业级AI网关) 私有化部署全攻略:AI网关怎么部署?附架构图
人工智能·安全·大模型·gateway·ai网关·mai gateway
hoaxxcj1 天前
零能力 Agent 骗过评测实测:朴素 harness 被骗 75%,加固后仍漏掉「抄答案」
网络·安全·大模型·工程化·ai实战