見出し画像

「今日は何の日?」GPTsを作った

「今日は何の日?」GPTsは、ウィキペディアの「今日は何の日」のページに掲載されている「○○年前の今日」に起こった出来事からアトランダムに一つを選び出し紹介します。
本記事では、当該GPTsの使い方をざっと述べたのち、どのようにして所定の機能を実現したかを概説します。


使い方

使い方は至ってシンプルです。
上記のリンクから当該GPTsにアクセスします。
「今日は何の日?」と尋ねます。
以上です。

このように、タイトル・概要・まとめの3セクションで出力が返ってくるはずです。
ブログのネタにお手頃ですね。
話しを広げたかったら続いて「この事件の今日への影響についてウェブで調べてまとめてください」とか何とかプロンプトを追加してみるのもいいと思います。

Wikipedia のWebAPIを使用

ここからGPTsの中身について説明します。

当該GPTsでは、GPTsの真骨頂ともいえるWebAPI利用機能を活かし、ウィキペディアの情報を引っ張ってきています。
今のChatGPTは、ウェブブラウザで通常使うURL(たとえばhttps://ja.wikipedia.org/wiki/Wikipedia:%E4%BB%8A%E6%97%A5%E3%81%AF%E4%BD%95%E3%81%AE%E6%97%A5)を直接指定して「このページの情報を纏めて」などと指示してもすんなり言うことを聞いてくれません。そういうときはWebAPIを使うのが基本です。

どうやればWebAPIを利用したGPTsが作れるのか?

WebAPIを利用したGPTs開発の流れを概説します。

設定方法もChatGPTが教えてくれる

APIといわれても何のことやらという人もいるでしょう。
細かい話は省き、こう説明しておきます。

「所定の作法に従って、外部のウェブサービスに情報提供を求め、その返答を受け取る仕組み」

GPTsにおいては、編集画面の下の方にあるActionの項目に所定の設定を書き込むことで利用可能となります。

まずは、[create new action]のボタンをクリックします。すると、Add Actionというページが開くはずです。このSchemaという欄に「JSON形式のSchema」を記述すればいいのです。
Schema? JSON? 何のことやらわからんという人もいるでしょうが、大丈夫です。どういうテキストを書けばいいのかはChatGPT自身に聞いてみればいいのです。

まずは軽くググってみます。するとAPIのURLやパラメータの設定方法などの情報が見つかるでしょう。重要なのは「リクエストURL」と「パラメーター」の2つです。ここでは、`wikipedia api`で検索してみたところ、次のようなページが見つかりました。

まず、リクエストURLが`http://ja.wikipedia.org/w/api.php`であることが判ります。
また、最終目的は「今日は何の日」という題名の記事の下のテキストを取得すること。これを念頭に置いて当該記事の「記事本文を取得」セクションをみると、パラメーターとしては`prop=revision`, `rvprop=content`, `titles="Wikipedia:今日は何の日"`が必要だろうと見当がつきます。

以上の情報をChatGPTに与えて「JSON形式のSchemaを作って」とお願いすればいいのです。

このような形式をJSON形式と言います。回答内に示されたこのテキストをコピーして、GPTs編集画面のSchemaの欄にペーストします。

終わったら、とりあえず使ってみます。

何やらエラーメッセージが出てきました。どういうことでしょう。これもChatGPTに聞いてみます。

言われたとおりに修正すると、エラーなしで通りました。

WebAPI利用に絡む問題

従来、APIを利用したプログラムを書くとすれば、データの入出力についてそれなりに面倒なコードを書かねばなりませんでした。しかしGPTsにおいては、そういった整備を開発者がいちいち進める必要はありません。GPTs側がややこしいところはよろしく対応してくれるのです。基本的に、開発者としてはパラメーターセットを言われるままにコピペするだけです。
これがアプリ開発の敷居をどれだけ下げたかをくどくど説明する必要はないでしょう。

ただ、問題となるのは、情報を提供してくれるサイトをどうやって見出すかです。どこのサイトでもAPIが利用できるわけではありません。APIを整備し、なおかつ第三者がそれを利用することを許容しているサイトは、現状ではなかなか限られることも確かです。その辺の情報を取りまとめてくれているウェブページもあったりするので、何とか頑張って探してください。

節度をもって使わせていただこう

なお、多くのサイトは、「好意で」APIを開放してくれています。いくら可能ではあると言っても野放図に濫用すべきではありません。当該サイトのドキュメントをよく読み、示されているルールや要望には真摯に対応しなければなりません。

終わりに

以上の問題点を克服できれば、あとはアイディア勝負と言えましょう。技術的ハードルは高くないので、思いついたらすぐ作って試してみるに限ります。素晴らしいアプリをどんどん作っていきましょう。


いいなと思ったら応援しよう!

この記事が参加している募集