※本記事は、生成AI専門の開発会社LangCore(https://corp.langcore.org)の、ちぇんさんより寄稿して頂いた原稿を加筆修正したものです。

GPTs、最高ですよね

GPTsはChatGPTをカスタマイズすることで、ニーズを絞って自分やお客様にとって役にたつチャットボットを構築することができます。

GPTs は、まだそのポテンシャルが知れ渡っていませんが、特に業務効率化の面において、非常に大きな影響をもたらすものです。

独自性のある、本当の意味で役に立つチャットボットを構築するにはActionsを使ったAPI連携 が肝になります。

逆にいうと、Actions以外のカスタマイズは通常のChatGPTでも利用できるため、特に独自性はありません。

故に、Actionsを制するものはGPTsを制すると言っても過言ではありません。

本記事の内容を理解することで、自分独自の API を簡単に作成することができるようになります。

実は、以前紹介した英単語学習GPT:AITANの学習履歴保存機能もこの技術を使って作られています:

https://agi-labo.com/articles/n946e47836c90


Actionsを使ったGPTs

私が個人的に作ったGPTsをいくつか紹介します。

1. GPT友達探しエージェント

https://twitter.com/yuno_miyako2/status/1736666710277812520?s=20

概要: このGPTsはまるで婚活エージェントのように振る舞います。

自分のIDと趣味嗜好をエージェントに話すとActions経由でデータベースに登録し、気が合いそうな人をGPTsがリストの中から提案をしてくれます。

2. AIツール記事量産GPTs

https://twitter.com/yuno_miyako2/status/1742844316312281337?s=20

概要: 「生成AI x 〇〇」のプロダクトやスタートアップに関する記事を量産するGPTsです。500以上のAIツールのデータベースを持つAIツールナビAPIと連携して、そこからAIツールのデータを取得して記事を書きます。

3. コールセンターGPTs

実開発案件で行っているコールセンター、電話予約システム、注文システムのPoCをGPTsで作っています。

こういうことが技術的にできますよ!」ということを即興で見せることができます。

GPTsの開発時間は1~2時間でできるにも関わらず、実際に動くものとして提供できるため、お客様にとっても導入後がイメージがしやすい形になります。


注意

これから紹介する内容は、自分自身で独自のAPIを立ち上げてそれをActionsに設定するものです。

しかし、まだActionsを使ったことがない人がいきなりこれをやることは正直ハードルが高いです。

そのため、まずは以下の note のいずれかを参考にして、元々ある API を使った Actions を作ってみてからにしたほうがよろしいかと思います:

https://agi-labo.com/articles/n7f4e62f21867

https://agi-labo.com/articles/n43cc9a028aac

https://agi-labo.com/articles/n7950d4e9f65d

https://agi-labo.com/articles/nd37bb86b05ce


独自APIを作るのはハードル高い

すでにAPIが存在していればそれを利用することは簡単に可能ですが、自分で1からAPIサーバを立ち上げてActionsを記述するのは少しハードルが高いですよね。

しかし簡単なものであればノーコードで独自のAPIを作ることができます。

Supabase を使ってGPTs用のAPIを作る

SupabaseというSQLデータベースのサービスを使うことで、私はGPTs用のAPIを作成しています。

そのそもSQLデータベースとは何でしょうか?

SQLデータベースの基本
SQLデータベースは、情報を保存し、管理するためのシステムです。これは、電子図書館のようなものと考えることができます。図書館にはたくさんの本があり、それぞれの本には異なる情報が含まれています。SQLデータベースも同様に、様々な「データ」と呼ばれる情報を保持しています。

データの整理
このデータベースでは、情報は「テーブル」と呼ばれる場所に保存されます。テーブルは行と列で構成されており、スプレッドシートに似ています。各行は「レコード」と呼ばれ、特定の項目に関する情報を含んでいます。例えば、学校の生徒名簿がテーブルであれば、各行は一人の生徒を表し、列は名前、年齢、クラスなどの情報を表します。

SQLの役割
SQL(Structured Query Languageの略)は、このデータベース内の情報とやり取りするための言語です。図書館で本を探すときに使うカタログのようなものです。SQLを使うと、データベースに新しいデータを追加したり、既存のデータを検索、更新、削除することができます。

データベースの重要性
データベースは今日のデジタル世界において非常に重要です。オンラインショッピング、銀行業務、SNSなど、私たちの日常生活において頻繁に利用されています。データベースがあれば、大量のデータを効率的に管理し、必要なときにすぐにアクセスできます。

まとめ
SQLデータベースは情報を保存し、整理し、アクセスするための強力なツールです。
日常生活での多くのアプリケーションがデータベースに依存しているため、この技術を理解することは非常に有益です。

Supabase とは?

Supabaseとは、簡単に言うと「データベースとアプリケーションをつなぐためのサービス」です。

上記で説明したSQLデータベースのようなものを、インターネット上で簡単に使えるようにしたものと考えてください。

通常、データベースは情報を保存し整理する場所ですが、このデータをアプリケーション(例えば、ウェブサイトやスマートフォンのアプリなど)と組み合わせるには、追加の技術や作業が必要です。

Supabaseは、このプロセスを簡素化します。つまり、データベースを設定し、それをアプリケーションと簡単に結びつけるためのツールを提供します。

このサービスのおかげで、エンジニアでない人でもデータベースを利用してアプリケーションを作成しやすくなります。

例えば、オンラインショップや情報を共有するウェブサイトなど、様々なプロジェクトに活用できます。Supabaseを使うことで、データベースの複雑さを気にせずに、アイデアを実現することが可能になります。

要するに、SupabaseはSQLデータベースを基盤として、それを使いやすくし、さまざまなアプリケーションと簡単に結びつけるための便利なサービスです。


Supabase をGPTsに組み込む方法


0. Supabase に会員登録する

以下のURLから、会員登録することができます。

https://supabase.com/

無料枠が結構あるため、気軽に始めることができます!

1. テーブルを作る

Supabaseに登録すると、Table Editor画面でテーブルを作ることができます。

今回は、電話受付GPTsを作るという想定を考えます。

電話受付GPTsは、かかってきた電話の「お名前、電話番号、用件」を聞きだす、という想定で行きます。

上記の想定で、call_memoテーブルを作りました。
カラムは、name, phone_number, memoです。


2. APIをテストする

上記のテーブルを作るだけで、SupabaseではAPIが発行されます
API Docを見て、InsertをするためのAPIを把握します。

curl -X POST 'https://osuzqefxhbhubnfogicd.supabase.co/rest/v1/call_memo' \
-H "apikey: SUPABASE_KEY" \
-H "Authorization: Bearer SUPABASE_KEY" \
-H "Content-Type: application/json" \
-H "Prefer: return=minimal" \
-d '{ "name": "someValue", "phone_number": "08012345678", "memo": "someValue" }'


3. Actionsを追加する

GPTsでActionsを記述します。ここ、何を書けばいいかわからないと思うのですが、「Get help from ActionsGPT」のリンク先に飛んで、先ほどのcurlを投げてください。
何を書けばいいかをActionsGPTが教えてくれます。

4. APIキーを設定する

SupabaseのREST APIはAPIキーが必要であるため、ダッシュボードからAPIキーを取得し、GPTsに登録します。

APIの疎通テストをして、問題なく実行できれば成功です。

GPTs経由からAPIが呼ばれ、データベースに値が入っていることを確認できました。

5. 最後にGPTsを設定

Instructions等を記述してGPTsを完成させ、公開します。

完成

URL : https://chat.openai.com/g/g-9I3vEJLgJ-dian-hua-fan-gpts
所要時間20分程度でActionsを連携させたGPTsができました。

まとめ

いかがだったでしょうか?

Supabaseを利用することで簡単にAPIサーバを構築できるため、独自GPTsをすぐに作成することができました。

皆様も「独自APIを搭載した本当に役にたつチャットボット」をGPTsで作ってみてはいかがでしょうか?

ご拝読ありがとうございました。