大模型调用
虽然它们原生不支持,但很多第三方中转站、开源框架(如 One-API),或者阿里云/百度云的最新版接口中,也专门提供了一个“兼容 OpenAI 格式”的特定网址。它会打印出具体的错误码()以及服务器返回的错误原因(),方便你排查问题(比如是不是 API Key 填错了,或者余额不足)。第二种使用官方的 SDK 来调用 DeepSeek 的模型,openai库,可以调用几乎所有模型,只需要换。这行代
是的,只要能发送 HTTP 请求(准确地说是 HTTP POST 请求),就能调用所有大模型。
不管是 Python、Java、Go、前端网页,还是各种自动化工具,只要能把请求头(Headers)和请求体(JSON)发送给 DeepSeek 的服务器,模型就能给你回应。
除了 Python 的 库和常规接口调用工具(如 Postman、Apifox),在实际开发和业务中,还有很多其他方式。requests
要么用apifox和postman等接口调用,http方法调用,或者python里面的requests库里面get和post请求。
申请api key。充钱到模型平台。。
import requests
API_KEY = "sk-b5068944fa8348c783083a45b883a4b0"
url = "https://api.deepseek.com/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
data = {
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "1+1"}
]
}
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
result = response.json()
print(result['choices'][0]['message']['content'])
else:
print(f"Error {response.status_code}: {response.text}")
requests.post(...):利用 库向指定的网址()发送一个 POST 请求(通常用于提交数据)。requestsurl
url, , :这是你之前定义好的参数,分别代表接口地址、你要发送的数据(比如对话内容)以及身份验证请求头(API Key)。json=dataheaders=headers
response:这是一个变量,用来接收服务器返回给你的所有响应数据(包含状态码、文本内容等)。
response.status_code是服务器返回的 HTTP 状态码。
200在网络世界中代表 “OK”(成功)。这行代码的意思是:“如果服务器成功返回了数据,就执行下面的操作”。
result = response.json():把服务器返回的 JSON 格式的字符串,转换成 Python 可以直接操作的字典(Dictionary)。
result['choices'][0]['message']['content']:这是在层层解析这个字典。大模型的返回结构通常很深,这行代码的意思是:提取出第一条回复(index为0)里的具体文本内容,并用 打印在屏幕上。print()如果状态码不是 200(比如变成了 身份未验证、 找不到网页、 服务器崩溃),代码就会走到 分支。
401404500else它会打印出具体的错误码()以及服务器返回的错误原因(),方便你排查问题(比如是不是 API Key 填错了,或者余额不足)。
response.status_coderesponse.text
第二种使用官方的 SDK 来调用 DeepSeek 的模型,openai库,可以调用几乎所有模型,只需要换api_key和base_url
许多非 OpenAI 的大模型服务商为了方便开发者接入,故意将自己的 API 接口设计得和 OpenAI 一模一样。这就使得 OpenAI 库可以用来调用这些“兼容 OpenAI 接口”的第三方大模型。
有些科技巨头为了彰显自己的生态,或者因为功能设计与 OpenAI 差异太大,采用了完全独立的一套代码规范。你不能直接把它们的 URL 塞进 OpenAI 的客户端里。
谷歌 Gemini:使用 库。
google-genaiAnthropic Claude:使用 库。
anthropic百度文心一言 (Ernie):使用百度千帆大模型 SDK。
阿里通义千问 (Qwen):使用阿里云百炼 SDK。
💡 特例:虽然它们原生不支持,但很多第三方中转站、开源框架(如 One-API),或者阿里云/百度云的最新版接口中,也专门提供了一个“兼容 OpenAI 格式”的特定网址。如果通过这些中转,就又可以用 OpenAI 库了。
import os
from openai import OpenAI
client = OpenAI(
api_key='sk-b5068944fa8348c783083a45b883a4b0', # 提醒:生产环境建议换成环境变量
base_url="https://api.deepseek.com/v1" # 规范写法,加上 /v1
)
response = client.chat.completions.create(
model="deepseek-reasoning", # 变更为官方的深度思考模型名称
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "9.11 和 9.9 哪个大?"},
],
stream=False
)
# 1. 打印模型的“思考过程” (Reasoning Content)
# 注意:标准 API 已经支持通过 reasoning_content 获取思考链
if hasattr(response.choices[0].message, 'reasoning_content'):
print("=== 思考过程 ===")
print(response.choices[0].message.reasoning_content)
# 2. 打印最终的“回答内容”
print("\n=== 最终回答 ===")
print(response.choices[0].message.content)
1. 命令行工具(cURL)
在 Linux、Mac 或 Windows 的终端里,你可以直接用一行命令调用大模型。这非常适合用来快速测试接口通不通:
curl https://api.deepseek.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你的API_KEY" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "你好"}]
}'
2. 其他编程语言的 HTTP 客户端
在实际业务系统的后端开发中,根据公司技术栈的不同,可以使用各自语言的 HTTP 库:
-
Java:使用 、 或 Spring 框架的 / 。
OkHttpClientApache HttpClientRestTemplateWebClient -
Go:使用自带的 包。
net/http -
Node.js (JavaScript/TypeScript):使用 或自带的 API。
axiosfetch
3. 工作流与自动化工具(零代码/低代码)
不需要写代码,通过拖拉拽也能调用:
-
Dify / FastGPT:目前非常火的大模型工作流(LLM Ops)平台,你可以直接在里面配置 DeepSeek 的 API,然后用可视化的方式连线做成一个 AI 应用。
-
Make / Zapier:海外著名的自动化流水线工具,可以配置“当收到一封邮件时(触发点),自动发送 HTTP 请求给 DeepSeek 总结内容,然后存入 Excel”。
业务场景。。
[用户前端界面]
↓ 发送业务请求 (例如: "帮我分析这份财报")
[你的业务后端服务 (Java/Go/Python)]
↓ 1. 鉴权与敏感词过滤
↓ 2. 组装 Prompt (提示词)
↓ 3. 发送标准 HTTP POST 请求
[DeepSeek 官方服务器]
↓ 返回 JSON 结果 (包含大模型回答)
[你的业务后端服务]
↓ 4. 解析结果、存入数据库、格式化包装
↓ 返回最终结果
[用户前端界面] (看到漂亮的分析报告)
假设你正在开发一个“电商自动回复评论”的业务功能,当商家开启自动回复时,你的后端(以 Java 为例)会这样做:
// 1. 定义发送给大模型的数据结构
public class ChatRequest {
String model = "deepseek-chat";
List<Message> messages;
// ... 构造函数等
}
// 2. 业务方法:当收到用户差评时触发
public void autoReplyBadReview(String orderId, String reviewText) {
// 业务步骤 A: 组装提示词 (Prompt Engineering)
String systemPrompt = "你是一个专业友善的电商客服。请针对用户的差评进行真诚的道歉,并承诺24小时内专人联系处理,字数限制在100字内。";
ChatRequest requestBody = new ChatRequest();
requestBody.addMessage("system", systemPrompt);
requestBody.addMessage("user", "顾客差评内容: " + reviewText);
// 业务步骤 B: 发生标准的 HTTP 请求调大模型
String apiKey = "Bearer sk-b5068944...";
String jsonResponse = myHttpUtils.post("https://api.deepseek.com/v1/chat/completions")
.header("Authorization", apiKey)
.json(requestBody)
.execute();
// 业务步骤 C: 解析大模型返回的 JSON,提取出回复文本
String aiReply = parseContentFromJson(jsonResponse);
// 业务步骤 D: 转化为业务数据,存入数据库,并自动发布到前台
reviewDao.saveAutoReply(orderId, aiReply);
}
💡 真实业务中需要注意的“坑”:
-
流式传输(Streaming):大模型生成回答很慢。如果等它全部生成完再返回,前端用户会卡很久。所以真实业务通常会设置 ,利用 Server-Sent Events (SSE) 技术,让大模型像打字机一样,字一个地蹦回前端。
"stream": true -
超时时间(Timeout):大模型的响应时间一般比较长(尤其是深度思考模型,可能需要十几秒甚至几十秒)。你业务后端的 HTTP 客户端必须调大超时时间(比如设置为 60 秒或 120 秒),否则会频繁报 错误。
Timeout -
并发限制与日志:高并发业务下,需要做好队列缓存(MQ),并且要把每一次请求大模型的输入输出记录在日志或数据库里,方便后续分析和优化 Prompt。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)