はじめに
Data Serviceを使って作成したAPIは、OpenAIのChatGPTsと連携させることが可能です。この記事ではData Serviceを利用したGPTsとの連携を作成してみます。
私自身GPTsを使いこなしているわけではないので、ここでは接続してデータ取得できるところまでをメインに解説していきたいと思います。
前提条件
GPTsを利用するため、ChatGPTの有料サブスクリプションが必要です。
(持ってない方は雰囲気を感じて頂ければと思います)
Data Serviceを利用したAPIの作成
TiDB ServerlessのData Serviceについての詳細な入門はこちらをご覧ください。
今回は、GPTsに接続するところがメインなので、データの準備などは出来合いのものを利用します。
準備
まず、空のServerlessクラスタを一つ作成してください。(ここでは名前をsp500
としました)
クラスタがAvailableになったら、Data Service画面を開き、右下の?ヘルプメニューを押します。
すると下記のようなData Serviceのチュートリアルメニューが出てきます。ここで、下のSample Data App
を選択してください。
次のような画面が出てきます。Link Data Source
から先ほど作成したクラスタを選択して、次に進みます。これだけでクラスタへのデータのインポートと、Data Serviceの作成まで全自動でやってくれます。
次のような画面になったら、ダイアログボックスは閉じて構いません。
Data Service画面に戻ります。左側のメニューを見ると、先ほど作ったData Serviceが確認できます。sp500のデータから年を指定してランキングを取得するAPIと、会社を指定して履歴を取得するAPIなど、複数のAPIが構築されているのが分かります。
右側にあるIntegrate with ChatGPTs
のGet Configuration
ボタンを押します。
Integrate With GPTs
という画面が出てくるので、Create API Key
を押しAPIキーを作成します。APIキーはRead Onlyで構いません。
キーが作成されると、キー情報が自動で埋められます。Copyマークのついている API Specification URL
と API Key Encoded
情報をどこかにコピーしておきます。
以上でTiDB側の準備は完了です。ChatGPT側の設定に移ります。
GPTsの設定
ChatGPTの画面から、Explore > 新規GPT で、GPTsを作成する画面に移ります。
プロンプトは適当でいいと思いますが、私は下記のように依頼しました。
> S&P 500についての質問に回答するbotを作成したいと思います。
... アプリ名を提案
... アイコン画像を提案
> データは指定のAPIから読み取ってください。
色々聞かれますが、ほっといても先に進むようです。
落ち着いたら、上のメニューから Configure
を選択してください。下の方にあるCapabilities
でCode Interpreter
にチェックを入れ(pythonで可視化するため)、 Actions
で新しいアクションを作成します。
新しいアクションの作成画面では、Authentication
を次のように設定します。
API Key
に先ほどコピーした API Key Encoded
を入力します
Schema
で、Import URL
ボタンを押して、先ほどコピーした API Specification URL
を入力します。
API情報が読み取られ、利用できるAPIが把握されます。
これで準備OKです。Configure
から戻ります。
テスト
GPTsの右側で、テストができるようになっています。ここでいくつかやりとりを試して見ましょう。
正しく動いていることが確認できます。
まとめ
Data Serviceのサービス定義とAPIKeyを利用して、GPTsから簡単に利用することができます。
ぜひぜひ、試して見てください。