はじめに
本記事のタイトルをテーマに、社内勉強会で発表しました。
使用したスライドは以下です。
本記事では、Chatbotを使用して実際にAssistants APIを試した様子を記載します。
スライドに記載の通り、今回は主にfile_search、code_interpreter、スレッドによる会話履歴保持を試します。
Chatbotは以下記事を参考に作成しました。
Assistants APIについては以下です。
Assistants APIのv2のアップデート内容については以下です。
実際にAssistants APIを試す
まずはfile_searchを試してみます。
ファイルの有無で比較するので、まずはファイル無しで試してみます。
今回用意したファイルは、うなぎパイのWikipediaをコピーしたテキストファイルです。1
Chatbotを起動し、うなぎパイについて聞いてみます。
うなぎパイの情報を与えていないので、間違った回答が出力されました。
正しくは「うなぎのじゅもん」です。
ではファイルをアシスタントへ与えます。
アップロードしてVector Storeが作成されました。
アップロードはコンソール画面でお手軽にできますね。
ではもう一度Chatbotを起動します。
もう一度うなぎパイについて聞いてみますが、その前に記憶保持を試してみます。
私の好きなゲームをChatbotに教え、覚えているかを聞いてみます。
すぐなので覚えていますね。後でまた覚えているかを聞いてみます。
今回スレッドのメッセージ保持上限を6に設定しており、アシスタントとのやり取りを3回するとそれより古いやり取りが破棄されるはずなので、4回目以降で聞くと覚えていないはずです。
この「私の好きなゲームを覚えていますか?」の質問で私の好きなゲームの情報が保持されている可能性もあるかもしれないので、ここから数えて4回目以降で聞いてみます。
では改めて、もう一度うなぎパイについて聞いてみます。
正しく解答してくれました。
ちょっと踏み込んだ内容についても聞いてみましたが、こちらも正しく解答してくれました。
出力に【】で囲われた文字がありますが、これまでに試していて確認した感じでは、file_searchが使用された場合は、この【】で囲われた文字が付くみたいです。2
また、アップロードしたファイル名が付いているので、このファイルを使用したということのようです。3
次にcode_interpreterを試してみます。
フィボナッチ数列を出力するPythonコードを実行させてみます。
同時に記述したPythonコードも出力させてみます。
コード付きで正しく出力されました。
これでアシスタントとのやり取りを「私の好きなゲームを覚えていますか?」の質問から数えて3回行ったので、私の好きなゲームを覚えているか聞いてみます。
覚えていないですね。これで破棄されていることが確認出来ました。
これまでにした質問で、覚えている分を出力させてみます。
3回分を保持するので、この質問を除いて2つの質問を覚えていますね。4
こんな感じで、file_search、code_interpreter、スレッドによる会話履歴保持を試すことが出来ました。
おわりに
間違っている部分などありましたら指摘していただけると幸いです。
参考記事