AI検索エンジン「Perplexity」とGASを活用した情報収集スプレッドシートの作成方法

2024年12月2日掲載

キービジュアル

この記事は、ソフトバンク アドベントカレンダー2024の2日目の記事です。

はじめまして、プロダクトエンジニアの河野です。

普段は、Axross Recipe というAI・DXに関するオンライン学習プラットフォームの開発をしています。

Axross Recipeには、現役エンジニアによる「業務で活かせる」実用的なレシピ(コンテンツ)が数多く掲載されています。最近は、生成AIを活用したレシピが増えてきました。

そこで今回は、ソフトバンクが戦略的提携を行なっているAI検索エンジン「Perplexity」の活用法について紹介します。

注目の生成AI系スタートアップのPerplexityと戦略的提携を開始

この記事では、Perplexity APIとGoogle Apps Script(GAS)を活用して、Googleスプレッドシート上に最新情報を収集する方法を紹介します。

目次

はじめに

この記事では、Perplexity APIとGoogle Apps Script(GAS)を活用して、Googleスプレッドシート上に最新情報を収集する方法を紹介します。

以下のイメージのように、特定のキーワードに関する最新情報およびソース(情報元)をスプレッドシート上にまとめてくれるツールです。

活用例

活用例1:ニュースのトレンド追跡

特定のキーワードに関連する最新ニュースや、トレンドをスプレッドシート上で追跡できます。

例えば、以下のようなキーワードを対象に設定可能です。

  • 生成AI技術の進展
  • 世界情勢
  • 株式市場の動向

など

 

活用例2:競合製品や市場調査

競合製品や市場動向を迅速に調査し、比較する際に役立ちます。

例えば、以下のようなキーワードを対象に設定可能です。

  • ソフトバンクのプレスリリース
  • Appleの新製品
  • 2024年 電気自動車市場

など

Perplexity AIとは?

Perplexity AIは、最先端の自然言語処理技術と機械学習を駆使した対話型検索エンジンです。従来の検索エンジンとは異なり、ユーザーの質問に対して直接的に回答を提供することが特徴です。Perplexity AIは、OpenAIのGPTシリーズやClaude 3.5などの最新言語モデルとMicrosoft Bing検索エンジンを組み合わせて動作し、信頼性の高い情報源から引用を含む回答を生成します。

※Perplexity APIを利用するためには、「Perplexity Pro」に加入する必要があります。

ソフトバンクユーザー(ワイモバイル、LINEMOを含む)は1年間無料利用可能なキャンペーンを実施中です。(2024年12月2日時点)

Perplexity APIは従量課金制となっておりますが、Perplexity Proの契約者には毎月5ドル分のクレジットが付与されます。(2024年12月2日時点)

 

Perplexity APIの利用準備

Perplexityの公式サイトにて、Perplexity Proに加入します。

その後、設定>APIから、APIキーを発行します。

api

APIキーは「pplx-」から始まる文字列です。

APIキーはクレジットカード番号と同じくらい重要な情報ですので、他の人に見せないようご注意ください。

Google App Script (GAS) でAPIを使うための準備

Googleスプレッドシートを新規作成します。

Apps Scriptを開く

メニューから「拡張機能 > Apps Script」をクリックします。

GASからPerplexity APIを呼び出す

以下のコードを貼り付け、先ほど取得したPerplexity APIキーを入力します。

const PERPLEXITY_API_KEY = ‘取得したperplexity apiキー’


function callAPI(url, method, headers, payload) {
 const options = {
   'method': method,
   'contentType': 'application/json',
   'headers': headers,
   'payload': JSON.stringify(payload)
 };


 const response = UrlFetchApp.fetch(url, options);
 return JSON.parse(response.getContentText());
}


function callPerplexity(prompt) {
 const url = 'https://api.perplexity.ai/chat/completions';
 const payload = {
   "model": "llama-3.1-sonar-large-128k-online",
   'messages': [
     { "role": "user", "content": prompt }
   ]
 };
 const headers = { 'Authorization': `Bearer ${PERPLEXITY_API_KEY}` };
 const resJson = callAPI(url, 'post', headers, payload);


 return extractCitationsAndContent(JSON.stringify(resJson));
}


function extractCitationsAndContent(jsonString) {
 const data = JSON.parse(jsonString);
 const citations = data.citations;
 const content = data.choices[0].message.content; return {
   citations: citations,
   content: content
 };
}


function testPerplexity() {
 const prompt = '今日は何の日?';
 const response = callPerplexity(prompt);
 console.log('Perplexity Response:', response);
}

Perplexity APIがコールできるか、試しに実行してみましょう。

「testPerplexity」を選択し、実行してください。

以下のようなポップアップが出た場合、「権限を確認」をクリックしてください。

以下の表示になった場合、「詳細」をクリックしてください。

info-1

その後、以下赤枠箇所をクリックしてください。

info-2

以下のように、結果が返ってきたら成功です。

スプレッドシートに出力する

以下のコードを追加します。

function searchMultipleKeywords() {
 const sheet = SpreadsheetApp.getActiveSheet();
 const lastRow = sheet.getLastRow();
  for (let row = 2; row <= lastRow; row++) {
   const keyword = sheet.getRange(row, 1).getValue();
   if (keyword) {
     searchAndOutputRow(sheet, row, keyword);
   }
 }
}


function searchAndOutputRow(sheet, row, keyword) {
 const result = callPerplexity(`${keyword}について最新情報を調べよ`);
 sheet.getRange(row, 2).setValue(result.content);
 const citations = result.citations;
 for (let i = 0; i < Math.min(citations.length, 5); i++) {
   sheet.getRange(row, 3 + i).setValue(citations[i]);
 }
}

以下のように、A列に調べたいトピックを用意します。

「searchMultipleKeywords」を選択し、実行します。

上記のように、B〜G列に情報が入力されました!

 

A列のトピックを追加することで、どんどん検索する情報を増やすことが可能です。

トリガーの設定

定期的に情報を更新したい場合、以下の手順でトリガーを設定します。

「トリガー」を選択します。

トリガー

「トリガーを追加」を選択します。

実行する関数は「searchMultipleKeywords」を選択します。

searchMultipleKeywords

イベントのソースで「時間主導型」を選択し、その他は任意のタイミングに設定します。

以下のように設定すると、毎日午前8 ~ 9時の間で情報が更新されます。

イベントのソース

最後に「保存」をクリックし、以下のようになれば成功です。

注意点

  • API利用のコスト
    • APIをコールするたびに、費用がかかります。
    • 参考:API利用料金
  • データの信頼性
    • Perplexity APIの情報は、収集元によって信頼性が異なる場合があります。
    • 重大な決定に使用する際には、情報元にご注意ください。
  • セキュリティ
    • APIキーは第三者に漏れないよう、管理しましょう。    

まとめ

今回紹介した、Perplexity APIとGoogle Apps Script(GAS)を活用したスプレッドシートは、情報収集を効率化するための強力なツールとなります。

ぜひ、本記事を参考に、自身のニーズに合わせてカスタマイズしてみてください!
(プロンプトやmodelを変更してみるのもいいと思います!)

また、このような業務に活かせる情報はAxross Recipeにて数多く掲載されています。

ぜひ、ご確認ください。

それでは、ソフトバンクアドベントカレンダー2024 、3日目にバトンを渡します。おたのしみに!

関連サービス

生成AIをはじめとしたテクノロジーを駆使し、業務と組織を変革できる自走型DX人材を育成するためのオンライン学習プラットフォームと研修・定着化支援サービスです。

おすすめの記事

条件に該当するページがございません