見出し画像

GPTsとNotion APIを活用した小説執筆ボットの作成

はじめに

GPTs(GPT Builder)とNotiopn APIを連携させて、あらすじやストーリー設定を参照しながら小説の続きを執筆してもらう目的でボット作成しましたので紹介します。


以前からNotion に ChatGPT の会話を追加する拡張機能「ChatGPT to Notion」というものがありました。今回は、ChatGPTがNotionを参照して回答する機能になります。

気になる方は、Chromeウェブストアで「ChatGPT to Notion」を試してみてください。



イメージ図



このボットは、GPTsがNotionのページを参照して、小説の構成や続きを書いてくれます。キャラクターの性格や特徴もNotionに書いておけば毎回指示文を書かなくて済みそうです。



GPTsとのチャット



Notionページ


このメリットは、Notionに保存したデータから参照してインプットしてくれることですね。(webで公開している情報であれば、webブラウジング機能にすればいいと思います)



GPTsとNotion APIの概要

ChatGPTの新機能GPTsとは

GPTs(GPT Builder)は、2023年11月にOpenAIによって発表された新機能です。特定のタスクに特化したChatGPTの作成が可能です。

Notionとは

簡単に説明すると、パソコンやスマホで使える便利なノートです。Notionでは、文字だけでなく、写真や音声や動画なども入れられます。Notionでは、自分の好きなようにノートを作ったり、整理したり、見やすくしたりできます。

Notion APIとは

Notion APIとは、Notionと他のアプリケーションやサービスとの連携を可能にするインターフェースのことです。Notion APIを使うと、Notion内のデータを取得したり、更新したり、操作したりすることができます。


今回、Notion APIを使用するためにCloudflareを使用しています。


Cloudflareとは

簡単に説明すると、インターネットの速さや安全さを高めるために役立つ会社です。Cloudflareのサーバーは、サイトやアプリのデータを早く届けたり、暗号化したり、最適化したりすることで、インターネットの利用者に快適な体験を提供します。Cloudflareは、インターネットのおまわりさんやお手伝いさんのようなものだと考えるとわかりやすいかもしれません。



GPTsとNotion APIの連携


連携方法はYuta Kobayashi様の記事がとても参考になりました。


Notion の Internal API キーを発行

こちらから新しいインテグレーションを作成し、APIキーを発行します。(GPTsの作成画面で使用します)


リバースプロキシの設定

Cloudfareを使用します。以下の記事が参考になりました。
動作確認はmacOSですが、Windows11でも動作できました。


※リバースプロキシとは、インターネットとWebサーバーの間にあるサーバーで、Webサーバーの代わりにホームページを見せてくれるものです。リバースプロキシを使うと、Webサーバーを守ったり、速くしたり、分けたりできます。
(Notionでブログを公開することもできます)

先ほどの記事では、TypeScriptを使用していましたので今回はTypeScriptで動作確認を行いましたが少し戸惑いました。もしかしたら、JavaScriptの方が簡単にできるかもしれません。


ローカルPCでデプロイしてから、CloudFlareの管理画面にアクセスしてWorkersのOverviewのメニューを確認するとデプロイしたmy-workerを確認することができます。

※デプロイとは、簡単に説明するとインターネットにあるサイトやアプリを作って、みんなに見せることです。

CloudFlareの管理画面


GPTsの設定

新規作成については割愛します。(現時点、ChatGPTの有料プランでないと作成できません)

  • ボット名

  • アイコン画像

  • 概要

  • 詳細説明

などをGPTと会話しながらお好きなように作成していきます。


Actionsを編集

OpenAPI のスキーマを入力します。

今回は、先ほどの記事からスキーマをお借りしました。

urlの部分だけ、デプロイしたWorker(CloudFlareの管理画面の赤枠部分)を入力します。

"servers": [
    {
      "url": "https://CloudFlareの管理画面の赤枠部分.dev/https://api.notion.com"
    }
  ],


AuthenticationからNotion側で取得したInternal API キーを入力します。
注意点としては、現時点API の歯車ボタンをクリックすると設定したキーなどが消去される仕様?になっています。ですので、中身を確認したらもう一度APIキーを入力する方がいいかもしれません。

Privacy policyの入力は任意です。


GPTsをテストする

試しに、以下のように質問してみます。

チャット画面


アクセスできているページのIDを教えてくれましたので問題なさそうです。

カスタム指示やGPTsのInstructionsに特定のページIDを指示することで毎回同じページを参照してくれるようにカスタマイズできそうですね。


まとめ

Notion APIとGPTsを連携させて小説の続きを書いてくれるBotを紹介しました。今回は、小説用ですが他にも応用できると思います。

更に、ChatGPT to Notionを利用すれば、ChatGPTの回答文をNotionにインプットしてコピペする手間が省けるかもしれません。

この記事が気に入ったらサポートをしてみませんか?