はじめに
直近で、OpenAI の API を使った検索系は、以下の登場したばかりの Deep research API を試したのですが、今回は Responses API のツールを用いた検索です。
●OpenAI の Deep research が API で使えるようになったので Node.js で軽く試してみた - Qiita
https://qiita.com/youtoy/items/08ea6874ae49bbb66d87
「Web search」ツールで新たに利用可能になったモデル
自分がこの対応モデル追加の話を見かけたのは、以下のタイミングです。
【上記のポストで書かれている、新しく使えるようになったモデル】
Web search is now available with OpenAI o3, o3-pro, and o4-mini.
前に OpenAI の「Web search」ツール(Web検索)を試した話
実は、「o3, o3-pro, and o4-mini」が新たに Web検索に対応する話が出る前に、それ以外のモデルで Web検索ができていた時にも、Node.js でのお試しをやっていたことがありました。
その時の記録が Qiita の記事の下書きにあったので、最後のほうで紹介してみます。
さっそく試す
それでは、「o3, o3-pro, and o4-mini」でも使えるようになった Web検索を試していきます。
利用する API は、以下の記事でも試した OpenAI の Responses API になります。
●Node.js で OpenAI の 新API(Responses API)をシンプルに試す - Qiita
https://qiita.com/youtoy/items/12749481635230fae586
それを、Node.js から呼び出します。
Web検索のツールに関する公式情報
今回試す Web検索(「Web search」ツール)は、以下の公式ページに掲載されているビルトインツールの 1つです。
●Built-in tools - OpenAI API
https://platform.openai.com/docs/guides/tools?api-mode=responses
サンプルコード
そのツールを使うサンプルコードは、以下などから確認できます。
●Web search - OpenAI API
https://platform.openai.com/docs/guides/tools-web-search?api-mode=responses
上記の赤矢印で示した部分を選択することで、以下に示した curl・JavaScript でのサンプルや、他に Python のサンプルも見ることができます。
curl "https://api.openai.com/v1/responses" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-4.1",
"tools": [{"type": "web_search_preview"}],
"input": "what was a positive news story from today?"
}'
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4.1",
tools: [ { type: "web_search_preview" } ],
input: "What was a positive news story from today?",
});
console.log(response.output_text);
API を使う下準備
ここから Node.js で API を使う際によく行っている、下準備を行います。
1つは、公式パッケージ openai - npm のインストールです。以下のコマンドを使います。
npm i openai
もう1つの下準備は環境変数の設定で、OPENAI_API_KEY という名前の変数に OpenAI の APIキーをセットします。
コード
今回試すコードは、以下の通りです。サンプルコードの中の、モデル指定・プロンプトのみ変更します。
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "o3",
tools: [ { type: "web_search_preview" } ],
input: "AIエージェントを実装ができるJavaScript/TypeScriptのSDKを探して",
});
console.log(response.output_text);
o3 は推論(Reasoning)モデルなので、上記を実行した後、レスポンスが返ってくるまでけっこう時間がかかりました(※ Web検索絡みのツールの処理も、影響を及ぼしてそうですが)。
得られた結果
API のレスポンスで得られた結果は、以下のとおりです。
「AIエージェントを実装ができるJavaScript/TypeScriptのSDKを探して」というプロンプトで試しましたが、以下の情報を返してくれました。
■ 得られた内容の抜粋
以下は、2025年6月時点で「JavaScript/TypeScript で AI エージェント(LLM + ツール呼び出し+マルチステップ推論など)を実装できる」主要 SDK とフレームワークの一覧です。すべて OSS(MIT など)で npm から導入できます。
- OpenAI Agents SDK(@openai/agents)
- LangChain.js + LangGraph
- LlamaIndex.TS(llamaindex)
- Semantic Kernel JS(semantic-kernel)
- Vercel AI SDK(ai / @ai-sdk/*)
- VoltAgent(@voltagent/*)
- ADK TypeScript(adk-typescript)
- その他の軽量フレームワーク
- Engine-Agents(AutoGen 風の API)、Agent Forge、AgentM などデコレータ指向や「マイクロエージェント」思想の実装も登場中。・・・。
TypeScript/JavaScript のメジャーな SDK は、一通り出てきているかと思います。以下のお試しをしたことがあった、新しめの VoltAgent もしっかり入っていました。
●VoltAgent(TypeScript の AIエージェントフレームワーク)を軽く試してみる - Qiita
https://qiita.com/youtoy/items/6990e175e92c54265580
ちなみに、以下が選定のヒントとして提示されていました。
• まず「どの LLM/クラウドを使うか」「単一 vs. 複数エージェント」「ブラウザ実行が要るか」を決める。
• OpenAI API かつマルチエージェントが主目的なら OpenAI Agents SDK が最速。
• ベクタ検索+可視化まで一気にやりたい 👉 LangChain.js / LlamaIndex.TS。
• 既存の Next.js サイトに追加したい 👉 Vercel AI SDK。
• Google Workspace と統合する 👉 ADK TS。
• 運用・監視まで含め大型運用 👉 VoltAgent or LangSmith(LangChain)。
【追記】 別の検索結果の例
上記と別の検索も試したものがあるので、結果だけ貼り付ける形で紹介します(※ A2A絡みの検索を依頼した形です)。
Limitations の記載
あと、公式のドキュメントで Limitations という部分に書かれている内容を掲載しておきます。
内容は、主にモデル・API に関する制約が書いてあるものでした。
費用関連
今回の Web検索のようなビルトインツールを利用した際には、API で利用したツールによって費用がかかるようです。
今回の「Web 検索ツールの呼び出し」については、以下となるようでした。
●料金 | OpenAI
https://openai.com/ja-JP/api/pricing/
API利用 1回分の費用
今回、API で o3 を使った Web検索を 1回行った時の費用を、ダッシュボードで確認してみた結果を掲載してみます。
上で掲載していた 2回分の検索の例のうち、2回目の検索の例に関する費用です。以下のとおり、かかった費用は 0.24ドルだったようです。
上記費用の内訳を見てみます。上記費用が書かれていた下の部分で、Spend categories を選んで表示される内容を確認します。
内訳は以下の通りでした。
- o3-2025-04-16, input
- $0.105 total
- o3-2025-04-16, cached input
- $0.105 total
- o3-2025-04-16, output
- $0.02 total
- web search tool calls | o3
- $0.01 total
過去に試していた時の記録(2025年4月ごろ)
けっこう前に、Responses API の「Web search」ツール(Web検索)を試していた時の記録があったものを、ここに掲載してみます。
過去に既に利用可能だった複数のモデルを、切り替えて試していたものになります。