0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DifyでOpenAI Web search機能を使ってみた

Last updated at Posted at 2025-04-30

image.png

1.はじめに

OpenAIが2025年3月に公開したGPT-4o Search PreviewとGPT-4o mini Search Previewは、大規模言語モデルに直接Web検索機能を組み込んだ画期的なモデルです。この記事では、これらの新しいモデルの特徴、料金体系、Difyでの実装方法、そして実際の使用経験について詳しく解説します。DifyではOpenRouterを通じて利用可能ですが、最新情報の精度には課題があることも明らかになりました。

2.Web searchとは

Web Searchとは2025年3月12日にOpenAI公開した「エージェント開発のための新たなツール」の記事のなかで「Web検索ツールとして紹介されたGPT-4oのファインチューニングモデルです。

Web検索についてはgpt-4o及びgpt-4o-miniモデルでもファンクションコールとして利用できるようですが、この記事で発表された gpt-4o-search-preview 、gpt-4o-mini-search-preview という

モデルは驚くことに大規模言語モデル自体がWeb検索をしてくれるモデルとなっています。

素晴らしいモデルにも関わらず、殆ど告知もされてなく、「エージェント開発のための新たなツール」に記載の以下の説明だけです

Web 検索ツールは Responses API を利用するすべての開発者の皆さまにプレビュー版として提供されます。
また、Chat Completions API を通じてファインチューニングされた検索用モデルである gpt-4o-search-preview および gpt-4o-mini-search-preview に直接アクセスすることも可能です。
料金は GPT‑4o 検索が 1,000 クエリあたり 30 US ドル、GPT‑4o mini 検索が 1,000 クエリあたり 25 US ドルとなります。ぜひ 
Playground⁠(新しいウィンドウで開く) で Web 検索をお試しいただき、さらに詳しい情報はこちら⁠(新しいウィンドウで開く)をご覧ください。

もう少し詳しい説明を求めてOpenAIのサイトを検索したら「Web search」というページに以下の記載がありました

-----翻訳-----
Web search(ウェブ検索)
応答を生成する前に、モデルが最新の情報をウェブから検索することを可能にします。
Chat Completions APIを使用することで、ChatGPTの検索機能で使用される微調整されたモデルとツールに直接アクセスできます。

Chat Completionsを使用する場合、モデルは常にクエリに応答する前にウェブから情報を取得します。web_search_previewをgpt-4oやgpt-4o-miniなどのモデルが必要な時のみ呼び出すツールとして使用するには、Responses APIに切り替えてください。

現在、Chat CompletionsでWebサーチを使用するには、以下のいずれかのモデルを使用する必要があります:

gpt-4o-search-preview
gpt-4o-mini-search-preview
-----原文-----
Web search
Allow models to search the web for the latest information before generating a response.
Using the Chat Completions API, you can directly access the fine-tuned models and tool used by Search in ChatGPT.

When using Chat Completions, the model always retrieves information from the web before responding to your query. To use web_search_preview as a tool that models like gpt-4o and gpt-4o-mini invoke only when necessary, switch to using the Responses API.

Currently, you need to use one of these models to use web search in Chat Completions:

gpt-4o-search-preview
gpt-4o-mini-search-preview

どうやらOpenAI側でファンクションコールの「web_search_preview」を実装してくれているモデルとしてgpt-4o-search-preview、gpt-4o-mini-search-previewが位置づけられているようです。

3.GPT-4o Search Previewとは

OpenAIの公式ドキュメントに「GPT-4o Search Preview」、「GPT-4o mini Search Preview」というドキュメントがありますので、そこで行われているGPT-4oとの価格比較などを引用します。

3.1. GPT-4o Search Preview

以下が「GPT-4o Search Preview」ページの概要説明の日本語訳です。

GPT-4o Search Previewは、Chat Completions APIを使用して[Web検索](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)クエリを理解して実行するように訓練された特殊なモデルです。
トークンの手数料に加えて、Web検索クエリにはツールコールごとに手数料がかかります。詳細については、[価格](https://platform.openai.com/docs/pricing)ページをご覧ください。

gpt-4o-search-preview-price.png

3.2. GPT-4o mini Search Preview

以下が「GPT-4o mini Search Preview」ページの概要説明の日本語訳です。

GPT-4o mini Search Previewは、Chat Completions APIを使用して[Web検索](https://platform.openai.com/docs/guides/tools-web-search?api-mode=chat)クエリを理解し、実行するように訓練された特殊なモデルです。
トークンの手数料に加えて、Web検索クエリにはツールコールごとに手数料がかかります。詳細については、[価格](https://platform.openai.com/docs/pricing)ページをご覧ください。

3.3. Web Search

価格」ページのBuilt-in toolsにWeb Searchツールの価格が記載されていて、GPT-4o Search-previewでは30.00USD~50.00USD/1,000回検索、GPT-4o mini Search Previewでは27.50USD~30.00USD/1,000回検索でした。高いのか安いのかよくわからないですね。

gpt-4o-mini-search-preview-price.png

4.どこから使えるのか?

OpenAIのモデルですので当然OpenAI APIでは利用できます、API利用は少し面倒なので、PlayGround感覚でDifyで実装するためにこちらのモデルがどのルートで使えるのかを調べてみました。

私はOpenAI API、Azure OpenAI、OpenRouterを従量課金で契約しているので、今回はこの3つのルートで2025年4月30日時点の情報で比較します。

なお、DifyではLLMを多数持つモデルプロバイダーを考慮して、モデルの追加は「セットアップ」と「モデルを追加」という2つの方式が使えます。
今回はこの2つの方法でgpt-4o-search-preview、gpt-4o-mini-search-previewモデルが追加できるかを調査し結論としてモデルプロバイダーをOpenRouterルートにすると利用できることが分かりました。

No モデルプロバイダー Version 調査日 APIのサポート セットアップ(*1) モデルを追加
1 OpenAI 0.0.22 2025年4月30日 ×:gpt-4o-search-preview、gpt-4o-mini-search-previewともにデフォルトには存在していません。 ×:gpt-4o-search-preview、gpt-4o-mini-search-previewともに「Base model gpt-4o-search-preview not found、「Base model gpt-4o-mini-search-preview not found」エラーで登録できず
2 Azure OpenAI 0.0.14 2025年4月30日 ×
3 OpenRouter 0.0.8 2025年4月30日 ×:gpt-4o-search-preview、gpt-4o-mini-search-previewともにデフォルトには存在していません。 ○:gpt-4o-search-preview、gpt-4o-mini-search-previewともに登録可能

(*1)念のためlanggenius/dify-official-pluginsのGitHubサイトでgpt-4o-search-preview、gpt-4o-mini-search-previewを検索してみましたが、issuesなども上がっていませんでしたので「セットアップ」でデフォルトのモデルとして表示されることは無さそうです。
(*2) Azure OpenAIでのサポートはMS LearnのQuestionに「When the OpenAI gpt-4o-search-preview model will be available on Azure」というQ&Aが投稿されており、このなかでMicrosoftは「近い将来に利用可能になる」と書き込みを2025年4月25日にしています。

5.使ってみる

Difyで基本的なチャットフローと作成してgpt-4o-search-previewを言語モデルにして「アメリカの大統領は誰ですか?」と質問してみましたが
GPT-4oのカットオフデートは2023年10月ですので、通常のGPT-4oではそれ以降の時事ネタには答えられないのですが、gpt-4o-search-previewでは

しっかり答えます。
但し、「大谷翔平の子供の性別は?」など2025年4月19日に発表された情報については

「2024年12月29日、大谷翔平選手は妻・真美子さんの妊娠を発表しました。その際、エコー写真とともにピンク色のベビー服や水色のベビーシューズの画像を投稿しましたが、子供の性別については明言されていません。 (daily.co.jp)一部では、ピンク色のベビー服から女の子ではないかとの推測もありますが、公式な発表はなく、現時点で性別は公表されていません。」

などとお茶を濁してきます。
Brave Searchで検索してRAGをした方がまだ精度は高いかなぁという印象です。

dify-gpt-4o-search-preview.png

Brave Searchでも検索してみました
「大谷翔平選手の子供の性別については、現時点では明かされていないようです。最近の報道によれば、彼の妻・真美子さんが出産間近であることは伝えられていますが、性別に関する情報は公開されていないようです。詳細な情報が待たれます。」
あれ?...
image.png

因みにFelo.aiではFacebookなどの情報も参照して「女の子」と答えています。恐るべしAI検索エンジン
image.png

6.まとめ

OpenAIの新しいWeb検索機能であるGPT-4o Search PreviewとGPT-4o mini Search Previewについて、Difyでの実装と利用可能性を検証しました。
これらのモデルは、最新のウェブ情報を取得して応答を生成する特殊なモデルで、1,000クエリあたり27.50〜50.00ドルの料金で利用可能です。

調査の結果、2025年4月30日時点では、OpenRouterを通じてのみDifyでの実装が可能であることが判明しました。
OpenAI APIでは登録エラーが発生し、Azure OpenAIではまだサポートされていません。

実際の使用テストでは、2023年10月以降の情報も取得できることが確認できましたが、非常に最近の情報(数週間以内)については精度に課題があることが分かりました。
現時点では、RAG(Retrieval-Augmented Generation)など他の手法の方が、より正確な情報提供が可能かもしれません。

7.参考URL

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?