OpenAI Responses APIのWeb検索機能をGoogle Colabで試してみた


## はじめに
OpenAIが2025年3月に発表した新しい「Responses API」には、Web検索機能という強力な新機能が含まれています。この記事では、Google Colabを使ってWeb検索機能を実際に試す方法を簡潔に解説します。

![responses-api-diagram (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/95b568d3-e58e-4619-9320-cca621d2d598.png)

## Responses APIとWeb検索とは？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/1cb0ffac-ec93-48ae-aa1b-458eaa8a31a0.png)

Responses APIはOpenAIの新しいAPIで、Chat Completions APIのシンプルさとAssistants APIのツール利用機能を統合したものです。

Web検索機能を使うと、AIが最新のインターネット情報にアクセスして回答を生成できるようになります。引用元へのリンクも表示されるため、情報の信頼性を確認することも可能です。

## Google Colabでの環境準備

まずはGoogle Colabで環境を準備しましょう。

```python
# OpenAI APIキーの設定
import os
from google.colab import userdata

# APIキーを設定
api_key = userdata.get('OPENAI_API_KEY')
os.environ['OPENAI_API_KEY'] = api_key

# OpenAIライブラリのインストール
!pip install --upgrade openai

# クライアントの初期化
from openai import OpenAI
client = OpenAI(api_key=os.environ.get('OPENAI_API_KEY'))
```

**注意**: Google Colabでシークレット変数を設定するには、左側のメニューから「🔑シークレット」を選び、`OPENAI_API_KEY`という名前で自分のAPIキーを追加してください。

## Web検索機能を使ってみる

基本的な使い方は非常にシンプルです。`tools`パラメータに`web_search_preview`を指定するだけです。

```python
response = client.responses.create(
    model="gpt-4o",
    tools=[{"type": "web_search_preview"}],
    input="2025年3月の最新テクノロジーニュースについて教えてください。",
)

# 結果を表示
print(response.output_text)
```

このコードを実行すると、APIはWeb検索を行い、最新情報に基づいた回答を生成します。回答には情報源へのリンクも含まれるため、元の情報を確認することも可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/72aa8f27-c6d2-48ad-a7b7-d8813cbff242.png)

```text
日本政府は、人工知能（AI）の進化と社会実装を推進するため、近年さまざまな政策を展開しています。以下に主な取り組みをまとめます。

**1. AI戦略会議の設立と活動**

2023年8月、日本政府は「AI戦略会議」を設立し、AIの開発能力強化や国際協力の推進を目的とした議論を行っています。この会議では、AIの透明性や信頼性の向上、基礎研究の強化、人材育成などが議題となっています。 ([istis.sh.cn](https://www.istis.sh.cn/cms/news/article/98/26289?utm_source=openai))

**2. AIホワイトペーパーの発表**

2023年4月、自民党は「AIホワイトペーパー」を発表し、AIの社会実装に向けた新たな国家戦略の策定を提言しました。この文書では、国内のAI開発基盤の育成・強化支援や、AI規制の在り方についての提言が含まれています。 ([genspark.ai](https://www.genspark.ai/spark/%E8%87%AA%E6%B0%91%E5%85%9A%E3%81%AEai%E6%94%BF%E7%AD%96%E3%81%AE%E6%A6%82%E8%A6%81/f48fc186-ca57-41cc-8e00-1cf31a590df2?utm_source=openai))

**3. 責任あるAI推進基本法（仮）の公表**

2024年2月、日本政府は「責任あるAI推進基本法（仮）」を公表しました。これは、社会的影響力の大きな特定のAI基盤モデルに対する法的ガバナンスを目的としており、開発企業には脆弱性検証やモデルの基本仕様の公表などが求められています。 ([genspark.ai](https://www.genspark.ai/spark/%E8%87%AA%E6%B0%91%E5%85%9A%E3%81%AEai%E6%94%BF%E7%AD%96%E3%81%AE%E6%A6%82%E8%A6%81/f48fc186-ca57-41cc-8e00-1cf31a590df2?utm_source=openai))

**4. AIの安全性確保と活用促進の提言**

2023年12月、日本政府はAIの安全性を確保しつつ、その利活用を促進するための提言を行いました。この中で、国内ガイドラインの活用促進やAI研究所の創設、必要な予算の確保などが提案されています。 ([genspark.ai](https://www.genspark.ai/spark/%E8%87%AA%E6%B0%91%E5%85%9A%E3%81%AEai%E6%94%BF%E7%AD%96%E3%81%AE%E6%A6%82%E8%A6%81/f48fc186-ca57-41cc-8e00-1cf31a590df2?utm_source=openai))

**5. 生成AIに関する10項目の原則の策定**

2023年12月21日、日本政府は生成AIに関する10項目の原則を策定しました。これには、「人間中心」「公平」「プライバシー保護」などが含まれており、国内企業に対してこれらの原則の遵守を求めています。 ([nippon.com](https://www.nippon.com/hk/news/yjj2023122100857/?utm_source=openai))

これらの取り組みを通じて、日本はAI技術の進化と社会実装を積極的に推進し、安全で信頼性の高いAIの開発と利用を目指しています。 
```


## 実用的な例

### 例1: 最新ニュースの要約

特定のトピックに関する最新ニュースをまとめるのに便利です。

```python
response = client.responses.create(
    model="gpt-4o",
    tools=[{"type": "web_search_preview"}],
    input="現在の日本のAI政策について最新情報をまとめてください。",
)

print(response.output_text)
```

### 例2: 製品情報の収集

製品の比較情報を集めるのに役立ちます。

```python
response = client.responses.create(
    model="gpt-4o",
    tools=[{"type": "web_search_preview"}],
    input="最新のミラーレスカメラの上位3モデルを比較してください。特徴と価格を含めてください。",
)

print(response.output_text)
```

### 例3: シンプルなリサーチアシスタント

特定のトピックについて調査するシンプルな関数を作ることができます。

```python
def research_topic(topic):
    """指定したトピックについて最新情報を集めて要約する"""
    print(f"「{topic}」について調査中...")
    
    response = client.responses.create(
        model="gpt-4o",
        tools=[{"type": "web_search_preview"}],
        input=f"{topic}について最新情報を調べて、要点をまとめてください。",
    )
    
    return response.output_text

# 使用例
result = research_topic("量子コンピューティングの最新動向")
print(result)
```

```text
「量子コンピューティングの最新動向」について調査中...
量子コンピューティングの分野では、近年、商業化に向けた技術競争が加速しています。以下に主な動向をまとめます。

**1. 中性原子システムの台頭**

中性原子を用いた量子コンピュータの開発が進展しています。Atom Computing社は2023年10月に1,180量子ビットの中性原子システムを発表し、量子情報を40秒間保持する記録的なコヒーレンス時間を達成しました。また、QuEra Computing社はハーバード大学やMITなどと協力し、48個の論理量子ビットと数百のもつれ論理演算を備えたエラー訂正済みの量子コンピュータ上で大規模なアルゴリズムの実行に成功しました。 ([global.fujitsu](https://global.fujitsu/ja-jp/technology/key-technologies/news/ta-quantum-computing-20240610?utm_source=openai))

**2. 論理量子ビットの作成とエラー率の改善**

マイクロソフトとQuantinuum社は、30個の物理量子ビットから4つの論理量子ビットを作成し、エラー率を800倍改善することに成功しました。これは、量子コンピュータの信頼性向上に向けた重要な進展とされています。 ([global.fujitsu](https://global.fujitsu/ja-jp/technology/key-technologies/news/ta-quantum-computing-20240610?utm_source=openai))

**3. 超伝導方式の技術開発と戦略調整**

IBMは2023年12月に1,121量子ビットの超伝導式プロセッサー「Condor」を発表しましたが、エラー率の低い133量子ビットの「Heron」プロセッサーを搭載した次世代システム「System Two」を採用するなど、エラー訂正技術の開発に注力する戦略へとシフトしています。 ([global.fujitsu](https://global.fujitsu/ja-jp/technology/key-technologies/news/ta-quantum-computing-20240610?utm_source=openai))

**4. 公的資金と企業投資の継続**

量子コンピューティングへの投資は、政府や公的ファンド、大手企業によって継続的に行われています。IDCの予測によれば、2027年までに量子コンピュータへの投資は164億ドルに達し、2023年から2027年までの年平均成長率は11％と見込まれています。 ([fujitsu.com](https://www.fujitsu.com/jp/microsite/fujitsutransformationnews/2023-11-02/01/?utm_source=openai))

**5. 英国政府の国家戦略**

英国政府は2023年3月に国家量子戦略を公表し、2024年から2033年までの10年間で25億ポンドを投資する計画を発表しました。これにより、量子技術の発展と人材育成、ビジネス誘致などを促進する方針です。 ([ampmedia.jp](https://ampmedia.jp/2023/08/14/quantum-tech/?utm_source=openai))

これらの動向から、量子コンピューティングの商業化に向けた技術開発と投資が世界的に活発化していることが伺えます。 
```

## Web検索機能使用時のポイント

### 1. 具体的な質問をする

曖昧な質問よりも具体的な質問の方が良い結果が得られます。

```python
# 良い例
"2025年のAI技術トレンドについて、特に自動運転分野に焦点を当てて解説してください。"

# あまり良くない例
"AIについて教えて"
```

### 2. 情報の信頼性を確認する

Web検索は最新情報を提供しますが、情報の正確性は保証されません。重要な意思決定には、回答に含まれるリンクから情報を確認することをお勧めします。

### 3. エラー処理を実装する

実際のアプリケーションでは、エラー処理を実装することが重要です。

```python
try:
    response = client.responses.create(
        model="gpt-4o",
        tools=[{"type": "web_search_preview"}],
        input="最新テクノロジーについて教えてください",
    )
    print(response.output_text)
except Exception as e:
    print(f"エラーが発生しました: {e}")
    # エラー時の代替処理
```

## まとめ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/76a3ae22-5524-4a69-b712-3385f3792641.png)

Responses APIのWeb検索機能は、AIに最新情報へのアクセスを提供する強力なツールです。Google Colabで簡単に試すことができ、様々な用途に活用できます。

主なメリット：
- 常に最新の情報にアクセスできる
- 情報源が明示されるため信頼性が高い
- シンプルなコードで実装できる

---

## 参考リンク
- [OpenAI エージェント開発のための新たなツール](https://openai.com/ja-JP/index/new-tools-for-building-agents/)

*注: この記事は2025年3月時点の情報に基づいています。APIの仕様は変更される可能性があるため、最新の公式ドキュメントを参照することをお勧めします。*