見出し画像

OpenAI APIのAssistants APIでも独自アシスタントGPTは誰でも作れる

今回の記事は「生成AI Advent Calendar 2023」の2023/12/08の記事として書かせていただいております。

内容は11月上旬にOpenAI DevDayで公開されたAssistants APIを使ってサンプルWebアプリを作ってみます。
公式サイト等を参考にしています。

https://platform.openai.com/docs/assistants/overview

こちらでつぶやいたまま放置してたので回収しときました。


OpenAI developer platform

まずは下記URLよりOpenAI developer platformにログインし、Assistantsのメニューを開こう。

https://platform.openai.com/

事前設定

Assistantsを開いたら右上の+Createボタンからアシスタントを作成する。

ここで入力する内容は任意のもので構わない。私は下記のように設定した。Retrievalはファイルの内容を読み込むのに必要なので有効にしておく。

  • Name: 飛騨高山の伝統の案内人

  • Instructions: あなたは飛騨高山の伝統に関する案内人です。

  • Model: gpt-3.5-turbo-1106

  • Tools:

    • Retrieval: 有効

FILESにアップロードした内容で答えてほしいので適当な文書ファイルをアップロードしておく。

  • FILES: 任意のファイルをアップロード (今回はWikipediaの記事で試してみる)

作成が完了すると、Nameの下などに下記のようにasst_で始まるランダム文字列が表示されるようになる。これは後に使うassistants IDなので控えておく。

assistants ID: asst_************************

Playgroundから試す

作成したアシスタントをPlaygroundで試すことができる。左メニューのPlaygroundもしくは先程の画面の右上にあったTestボタンから試してみよう。

もし作成したアシスタントが選択されてない場合は、左上ドロップダウンリストからそれぞれ下記を選ぶ。

  • Playgroundの横: Assistants

  • Playgroundの下: さきほど入力したAssistantsのName (今回は「飛騨高山の伝統の案内人」)

もう準備は整っているので「Enter your message…」から問い合わせしてみる。

両面宿儺ってなんですか?

ありゃ、うまくいかない。。。

何度か試してみると半々くらいでうまくいく。

Custom InstructionsとModelをアップデートしてみました。これでも誤ることはあるので、GPTsのカスタムGPTを作るのを参考にしながら設定するのが良いと思います。ちなみにテキストファイルやcsvの方がうまくいくという記事も見たことあるので、そちらで試すのも良いと思う。今回はひとまずこのまま進めます。

GradioでGUIを実装

デモ

まずは下記に公開しているデモを試してみてください。

Textboxから質問を入力してEnterで回答してくれる。
そのままだと数学の話をするアシスタントである。

数学について答えてくれる

ソースコードはHugging Face上に公開しているので見たい人は見てください。

複製して独自アプリを作る

右上の「」ボタンからDuplicate this Spaceを選択する。

下記のように任意の値を入力し、最初に作成したAssistants IDを下記のように入力する。
OPENAI_API_KEYについては省略するが、API Keysのページから作成したものを入力しよう。

  • OPENAI_API_KEY: sk-************************************************

  • OPENAI_ASSISTANT_ID: asst_************************

公開したい場合はVisibilityをPublicにしておこう。
OPENAI_API_KEYは大事な鍵なので誰にも見せてはいけない。

うまく起動できたら下記のような表示になるはずです。

うまくコピーできてれば両面宿儺について答えてくれるはずだ。
こんな感じです。

完成品はこちら。
飛騨高山版になったバージョンはこちら。

まとめ

GPTsがリリースされてから多くの人がカスタムGPTをつくりまくっているかと思いますが、自社サービスとして提供したいようであればAPIでこの様に実装することになるかと思います。

エンジニアだけでなく多くの方がAIの恩恵に預かれるように、できるだけ簡単な手順にしてみました。無論、本番運用では耐えきれない実装なので、これをベースにエンジニアと開発していくことにはなります。

まずはエンジニアと話す前に、エンジニアでない人が動くデモとサンプルコードを渡せるような世界観になってきてるのがすごいですよね。

他にも生成AI関連の記事をたくさん書いているので良かったらこちらもどうぞ。

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