![見出し画像](https://assets.st-note.com/production/uploads/images/123960112/rectangle_large_type_2_707c8ca34a60e89d283e9f40cec053f7.png?width=1200)
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://assets.st-note.com/img/1702022430499-8Z9OQtP8et.png?width=1200)
事前設定
Assistantsを開いたら右上の+Createボタンからアシスタントを作成する。
![](https://assets.st-note.com/img/1702018945377-oH7osoUTFp.png?width=1200)
ここで入力する内容は任意のもので構わない。私は下記のように設定した。Retrievalはファイルの内容を読み込むのに必要なので有効にしておく。
Name: 飛騨高山の伝統の案内人
Instructions: あなたは飛騨高山の伝統に関する案内人です。
Model: gpt-3.5-turbo-1106
Tools:
Retrieval: 有効
![](https://assets.st-note.com/img/1702019449736-9PVklibVTw.png?width=1200)
FILESにアップロードした内容で答えてほしいので適当な文書ファイルをアップロードしておく。
FILES: 任意のファイルをアップロード (今回はWikipediaの記事で試してみる)
![](https://assets.st-note.com/img/1702019470503-2O9mMpE2EC.png?width=1200)
作成が完了すると、Nameの下などに下記のようにasst_で始まるランダム文字列が表示されるようになる。これは後に使うassistants IDなので控えておく。
assistants ID: asst_************************
![](https://assets.st-note.com/img/1702019683953-nXOsemmGNM.png?width=1200)
Playgroundから試す
作成したアシスタントをPlaygroundで試すことができる。左メニューのPlaygroundもしくは先程の画面の右上にあったTestボタンから試してみよう。
![](https://assets.st-note.com/img/1702019831388-L2TJIuEmCj.png?width=1200)
もし作成したアシスタントが選択されてない場合は、左上のドロップダウンリストからそれぞれ下記を選ぶ。
Playgroundの横: Assistants
Playgroundの下: さきほど入力したAssistantsのName (今回は「飛騨高山の伝統の案内人」)
![](https://assets.st-note.com/img/1702020221314-Bqjkxq19MS.png?width=1200)
もう準備は整っているので「Enter your message…」から問い合わせしてみる。
![](https://assets.st-note.com/img/1702020321358-zgzo9XXIpD.png?width=1200)
両面宿儺ってなんですか?
ありゃ、うまくいかない。。。
![](https://assets.st-note.com/img/1702020577135-RQ9fK2m3WH.png?width=1200)
何度か試してみると半々くらいでうまくいく。
![](https://assets.st-note.com/img/1702020523672-MF2ZwepmM9.png?width=1200)
Custom InstructionsとModelをアップデートしてみました。これでも誤ることはあるので、GPTsのカスタムGPTを作るのを参考にしながら設定するのが良いと思います。ちなみにテキストファイルやcsvの方がうまくいくという記事も見たことあるので、そちらで試すのも良いと思う。今回はひとまずこのまま進めます。
![](https://assets.st-note.com/img/1702021339357-thclIlDEAE.png?width=1200)
GradioでGUIを実装
デモ
まずは下記に公開しているデモを試してみてください。
Textboxから質問を入力してEnterで回答してくれる。
そのままだと数学の話をするアシスタントである。
![](https://assets.st-note.com/img/1702024957206-ISDGNOw1Ro.png?width=1200)
ソースコードはHugging Face上に公開しているので見たい人は見てください。
複製して独自アプリを作る
右上の「︙」ボタンからDuplicate this Spaceを選択する。
![](https://assets.st-note.com/img/1702025002111-sU6gTblMal.png?width=1200)
下記のように任意の値を入力し、最初に作成したAssistants IDを下記のように入力する。
OPENAI_API_KEYについては省略するが、API Keysのページから作成したものを入力しよう。
OPENAI_API_KEY: sk-************************************************
OPENAI_ASSISTANT_ID: asst_************************
![](https://assets.st-note.com/img/1702024337443-YPVo5HSExb.png?width=1200)
OPENAI_API_KEYは大事な鍵なので誰にも見せてはいけない。
うまく起動できたら下記のような表示になるはずです。
![](https://assets.st-note.com/img/1702025040786-JuCvC8PvT5.png?width=1200)
うまくコピーできてれば両面宿儺について答えてくれるはずだ。
こんな感じです。
![](https://assets.st-note.com/img/1702025296167-b0lWw1lR0T.png?width=1200)
完成品はこちら。
飛騨高山版になったバージョンはこちら。
まとめ
GPTsがリリースされてから多くの人がカスタムGPTをつくりまくっているかと思いますが、自社サービスとして提供したいようであればAPIでこの様に実装することになるかと思います。
エンジニアだけでなく多くの方がAIの恩恵に預かれるように、できるだけ簡単な手順にしてみました。無論、本番運用では耐えきれない実装なので、これをベースにエンジニアと開発していくことにはなります。
まずはエンジニアと話す前に、エンジニアでない人が動くデモとサンプルコードを渡せるような世界観になってきてるのがすごいですよね。
他にも生成AI関連の記事をたくさん書いているので良かったらこちらもどうぞ。
この記事が気に入ったらサポートをしてみませんか?