DeepSeek 新增 Responses API 和服务端 web_search 工具

今天看到 DeepSeek 新增了 Responses API 的文档,并且支持服务端 web_search:https://api-docs.deepseek.com/zh-cn/guides/responses_api 。我赶紧体验了一把,分享如下。

Responses API

如果原先使用的是 Chat Compeletion API,现在可以换成 Responses API.

openai = OpenAI::Client.new(
  api_key: ENV["OPENAI_API_KEY"],
  base_url: "https://api.deepseek.com"
)

# Chat Compeletion API
response = openai.chat.completions.create(
  model: "deepseek-v4-flash"
  messages: messages,
)

# Responses API
response = openai.responses.create(
  model: "deepseek-v4-flash",
  input: messages,
)

根据 Open AI 文档 的说法,Responses API 更简洁,增加了服务端工具的支持,建议新项目使用 Responses API。

不过 DeepSeek 的 Responses API 目前不支持会话功能,依然需要自己维护 messages 历史。

web_search tool

要使用 web_search tool,只需要调用 API 的时候加上 tool 定义:

response = openai.responses.create(
  model: "deepseek-v4-flash",
  input: messages,
  tools: [
    { type: "web_search" }
  ]
)

这样 DeepSeek 就会在有需要的时候在服务端调用 web_search。

集成过第三方 Web Search API 的应该知道,第三方 API 按搜索次数收费,如果使用量大也是一笔不小的开销。调用 DeepSeek 的服务端搜索功能更简洁,而且能节省不少费用。

测试例子

完整代码如下:

require "bundler/inline"
require "readline"

gemfile do
  source "https://rubygems.org"

  gem "openai"
end

openai = OpenAI::Client.new(
  api_key: ENV["OPENAI_API_KEY"],
  base_url: "https://api.deepseek.com"
)

messages = []

loop do
  input = Readline.readline("Me> ")

  messages << { role: "user", content: input }

  response = openai.responses.create(
    model: "deepseek-v4-flash",
    input: messages,
    tools: [
      { type: "web_search" }
    ]
  )

  content = response.output_text

  puts "AI> #{content}"

  messages << { role: "assistant", content: content }
end

运行:

Me> 2026世界杯冠军是?
AI> 根据最新的搜索结果,**2026年美加墨世界杯的冠军是西班牙队**!🏆

以下是决赛的关键信息:

- **决赛对阵**:西班牙 1-0 阿根廷(加时赛)
- **比赛时间**:当地时间2026年7月19日(北京时间7月20日凌晨)
- **比赛地点**:美国新泽西州东卢瑟福的纽约新泽西体育场
- **夺冠意义**:这是西班牙队时隔16年(继2010年南非世界杯后)第二次夺得世界杯冠军,也是世界杯扩军至48队后的首届冠军

其他亮点:
- 西班牙队在整届赛事中仅失1球,创下冠军球队失球最少的新纪录
- **罗德里(Rodri)** 获得金球奖(最佳球员)
- **乌奈·西蒙(Unai Simón)** 获得金手套奖(最佳门将)
- **保·库巴西(Pau Cubarsí)** 获得最佳年轻球员奖
- 阿根廷队获得亚军,奖金3300万美元;冠军西班牙队获得5000万美元奖金

决赛现场,美国总统特朗普还现身并隔防弹玻璃观赛,随后为冠亚军颁发了大力神杯。🎉

需要了解更多关于这届世界杯的细节吗?

可以看到,DeepSeek 调用了网络搜索,回答了它训练时还不存在的答案。

总结

DeepSeek 新增的 Responses API 和服务端 web_search tool,适应了 API 的进化,节约了搜索成本,推荐在适合自己应用场景的情况下使用。

0
所有评论 0
Avatar
@Rei
Ruby 程序员,Ruby China 管理员,GeekNote 创建者。