英語ドキュメント攻略! Perplexity AI拡張機能が超便利!

# はじめに
こんにちは、株式会社インティメート・マージャーの直人です。

**「また長い文章を読まないといけない…」**

そう感じたことありませんか？

技術者ならば、リリースノートやライブラリのソースコード、英語のドキュメントと日々向き合わなければいけません。

時間もない、面倒くさい、でもちゃんと内容は理解したい！

そんな「サクッと情報収集したい人」必見な 
**Perplexity AI のChrome拡張機能**についてご紹介！

# そもそもPerplexity AIとは？
**検索・要約に特化した生成AI**で、**無料**で使うことができます。(有料のPro版もあります)

プロンプトをもとに、AIがインターネットで検索を行い、得られた情報を要約して出力してくれます。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925807/fbfdab05-5f0b-367e-74ae-9295f75df869.gif width=100%>

**【特徴】**
- 他の生成AIよりハルシネーション(AIが誤った情報を出力すること)が起こりにくい
- 使用した情報源を明示してくれる

**アカウント登録不要**ですぐに使えるので、気になった方は以下のリンクからどうぞ！

https://www.perplexity.ai/

# Chrome拡張機能「Perplexity - AI Companion」
## 概要とインストール方法
AIに **現在閲覧中のページ**に関する質問を簡単にできる拡張機能です。

こちらも**アカウント登録不要**ですぐに使えます！

以下のリンクからインストールできます。

https://chromewebstore.google.com/detail/perplexity-ai-companion/hlgbcneanomplepojfcnclggenpcoldo

## 使い方
1. 要約したいサイトを開く

2. 拡張機能から「Perplexity - AI Companion」をクリック
    <img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925807/c044df0c-23eb-174f-6ff7-435d9046753f.png width=50%>

3. この画面が表示されるので、左下の検索範囲の設定で「This Page」を選択
    <img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925807/383668e9-4eb7-9a07-a75b-0353ba7b3c5e.png width=50%>

4. プロンプトを入力するか、右上の「Summarize」をクリック
    <img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925807/6daef382-fe9f-b319-76ca-e52010116d20.png width=50%>

このように簡単に使えます！

:::note info
アドレスバーから `chrome://extensions/shortcuts` で検索して、
拡張機能にショートカットキーを設定するとさらに便利！
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3925807/e920c74a-bc9d-9f1c-665c-15bd72b70307.png width=100%>
:::

## いくつかのサイトでの使用例
### 1. 日本語の記事｜Qiita

https://qiita.com/yanashi_im/items/51d7b5258de6d558c1b8

```plaintext:プロンプト
要約して
```

```plaintext:出力結果
【初期の競馬予想アルゴリズム】
  - 多くの人が「勝ち馬を予測する」ことを目指していたが、1番人気の馬ばかりを予測してしまい、控除率が80%に収束する問題があった

【新しいアプローチ】
  - 「過小評価されやすい要素」をスコアリングして、過小評価されやすい馬を買う方法が注目されるようになった
  - ただし、このアプローチも多くの人が行うようになり、要素の陳腐化が進んだ

【現在のアプローチ】
  - 「過小評価をされやすい要素をもとに馬券を購入している予想家」を当てるアプローチに切り替え、複数人の予想を組み合わせてリスクの低い予想を作成する方法が紹介されている

【生成AIを使った次世代予想】
  - ChatGPTやMMPoseなどの生成AIを利用して、写真や動画の指標化を行うことで、競馬予想に新しい要素を盛り込むことが可能になっている
  - 例えば、パドックの情報や前走との比較の画像を入力することで、従来見ることができなかった指標を予想に使用することができる
```

いろんな記事を読みたいけど時間が足りないときにとても役立ちそうです！

まずは記事を要約してみて、気になった記事はしっかり読んでいくのもよさそうですね！

### 2. 英語のドキュメント｜Python 3.13 更新情報

https://docs.python.org/ja/3/whatsnew/3.13.html

```plaintext:プロンプト
要約して
```

```plaintext:出力結果
【主な新機能】
  - 新しいインタラクティブシェル: 新しいシェルがデフォルトで使用され、多行編集やREPLコマンドの直接サポートが可能です
  - エラーメッセージの改善: エラーメッセージがカラー表示され、標準ライブラリモジュールと同名のスクリプトを実行した際のエラーメッセージが改善されました
  - フリースレッドモード: CPythonがフリースレッドモードで実行できるようになりましたが、まだ実験的な機能です
  - JITコンパイラ: 実験的なJITコンパイラが追加され、Pythonプログラムの高速化が可能です

【標準ライブラリの改善】
  - argparse: コマンドラインオプションやサブコマンドの非推奨化が可能です
  - array: Unicode文字のための新しいタイプコードが追加されました
  - asyncio: 非同期サーバーの自動終了や、タスクの強制終了が可能です
  - base64: Z85エンコードとデコードのサポートが追加されました
  - math: 複数の演算を一回のラウンドで行うための`fma`関数が追加されました

【その他の改善】
  - モバイルプラットフォームのサポート: iOSとAndroidが正式にサポートされました
  - セキュリティの改善: デフォルトのセキュリティフラグが強化されました
  - C APIの改善: 新しいC APIが追加され、既存のAPIが改善されました

【削除された機能】
  - レガシースタンダードライブラリモジュール: 19のモジュールが削除されました
  - 2to3ツールとlib2to3モジュール: 削除されました
  - tkinter.tixモジュール: 削除されました
```

情報を網羅出来ているわけではありませんが、自力で読むより圧倒的に時短できました！

気になったところや注意深く確認したいところは、プロンプトを変えて質問しましょう！

### 3. GitHubのソースコード｜requestsライブラリ(Python)

https://github.com/psf/requests/blob/main/src/requests/sessions.py

```plaintext:プロンプト
Sessionクラスについて解説して、使い方も教えて
```

~~~md:出力結果
【解説】
  - セッションの概念
    - HTTPセッションは、クライアントとサーバー間で複数のリクエストを送信する際に、同じセッションを維持するための仕組みです
    - `Session`クラスは、このセッションを管理するためのオブジェクトを提供します
  - 利点
    - セッションを使用することで、複数のリクエスト間で共通の設定（例えば、ヘッダーやクッキー）を簡単に共有することができます
    - また、セッションを使用することで、TCPコネクションの再利用が可能になり、パフォーマンスが向上します

【使い方】
```python
import requests
# セッションオブジェクトの作成
session = requests.Session()

# 共通のヘッダーを設定
session.headers.update({'User-Agent': 'My User Agent'})

# リクエストを送信
response = session.get('https://example.com')

# セッションを使用して複数のリクエストを送信
response1 = session.get('https://example.com/page1')
response2 = session.get('https://example.com/page2')

# セッションを閉じる
session.close()
```

この例では、`Session`オブジェクトを作成し、共通のヘッダーを設定しています
次に、セッションを使用して複数のリクエストを送信しています。最後に、セッションを閉じています

【注意点】
  - セッションのクローズ
    - セッションを使用した後は、必ず`close()`メソッドを呼び出してセッションを閉じる必要があります
    - これにより、TCPコネクションが適切にクローズされます
  - セッションの再利用
    - セッションを再利用する場合は、前回のリクエストの結果が影響しないように注意する必要があります
    - 特に、セッションを再利用する際に、前回のリクエストで設定されたヘッダーやクッキーが影響しないように注意してください
~~~

他の言語のライブラリでも応用できそうですね！

英語のREADMEファイルを要約してもらうのもいいと思います！

## 注意点
:::note warn
とても便利な拡張機能ですが、いくつか注意点があります
- 情報源を指定するため他の生成AIより情報に安心感があるが、
**ハルシネーションが起こる可能性はゼロではない**

- ~~Perplexity AIの仕様上、**数日以内にアップロードされたサイトの情報は取得不可**~~

- 全てのサイトでこの拡張機能が使えるわけではなく、**使用できないサイトもある**

- GitHubのリポジトリに使う場合、**プライベートリポジトリには使用できない**
:::

:::note info
2025年2月25日(火)追記
アップロードされた直後のサイトの情報も取得できるようになっていました！
:::

# おわりに
サイトの要点の理解にとても便利な **Perplexity - AI Companion** の紹介でした。

時間がないときや、素早く情報収集したいときには大活躍するツールで、私自身も毎日助けられています。

やはり技術者ならば長文を読むより、手を動かしてコードを書きたいですよね！

他にもいい使い方やプロンプトがあれば、コメントでぜひ教えて下さい！

https://chromewebstore.google.com/detail/perplexity-ai-companion/hlgbcneanomplepojfcnclggenpcoldo

<ins>他のインティメート・マージャーのアドベントカレンダーの記事もぜひどうぞ！</ins>

https://qiita.com/advent-calendar/2024/intimatemerger