是的,只要能发送 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-genai

  • Anthropic 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);
}

💡 真实业务中需要注意的“坑”:

  1. 流式传输(Streaming):大模型生成回答很慢。如果等它全部生成完再返回,前端用户会卡很久。所以真实业务通常会设置 ,利用 Server-Sent Events (SSE) 技术,让大模型像打字机一样,字一个地蹦回前端。"stream": true

  2. 超时时间(Timeout):大模型的响应时间一般比较长(尤其是深度思考模型,可能需要十几秒甚至几十秒)。你业务后端的 HTTP 客户端必须调大超时时间(比如设置为 60 秒或 120 秒),否则会频繁报 错误。Timeout

  3. 并发限制与日志:高并发业务下,需要做好队列缓存(MQ),并且要把每一次请求大模型的输入输出记录在日志或数据库里,方便后续分析和优化 Prompt。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐