9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LINE DCAdvent Calendar 2023

Day 6

OpenAIのAssistants APIを使ってLINEスタンプ返却botを簡単に作れないかを検証

Last updated at Posted at 2023-12-05

はじめに

Adventカレンダー用に考えたネタです。openaiの機能を使って簡単にLINEスタンプ自動返却botを作成できないか検討してみた、という内容の記事です。

LINEスタンプについて

この機能については特に説明は不要かと思いますが、LINEbot(Messaging API)でスタンプを返したい場合は基本的には公式で提供されている以下のリストから適切なものを選ぶことになると思います。

スタンプをメッセージとして送るためにはpackageIdstickerIdが必要になります。今回はこの2つのプロパティ要素をopenaiの提供するgptが自動で判断してくれないかを検討しました。

Assistants APIとは

Assistants APIは名前の通り、AIアシスタントを手軽に作成できるAPIです。2023/11/20時点ではPythonとNode.jsのパッケージが公式でサポートされているみたいです。

ナレッジベースの読み込み

まずはGPT側に必要なスタンプの情報を読み込ませたいと思います。このナレッジベースの構築に関しては先例があります。

今回はもっと簡単に、Retrieval機能を使ってナレッジベースを構築できないかを考えてみました。

上記の例のようにファイルをアップロードするだけでGPT側が勝手に必要情報を拾ってきてくれるみたいなので、そのファイルを作成してみました。
今回やってみたことはかなりシンプルで、先ほどのLINEスタンプのリストの公式ページを丸々スクリーンショット保存したものを使いました。

スクリーンショット 2023-11-20 16.50.59.png

モデル構築

先ほどのブログのように、Playgroundを使えば手軽にAssistants APIを試すことができるのでそれを使います。

モデルはgpt-4-1106-previewを使って、toolsはRetrievalを有効化して今回用意したスタンプリストのページのスクリーンショットをアップロードしました。
ちなみにInstruction(GPTに与える事前設定のようなもの)は以下のようにしました。

## 命令

ナレッジベースを元に、入力されたメッセージに対して適した内容のLINEスタンプのIDを返答してください

## 出力形式

{
  "packageId":  {id here},
  "stickerId": {id here}
}

結果

まずはちゃんとナレッジベースを読み込んだ上での返答をしてくれるかどうかの検証からです。

スクリーンショット 2023-11-20 17.02.59.png

とりあえず期待した形式での回答をしてくれたので一安心です。ちなみにこのIDに対応するスタンプは、これです。

スクリーンショット 2023-11-20 17.05.12.png

ちゃんと存在するスタンプ情報が返ってきました!他の回答も試してみましょう。

スクリーンショット 2023-11-20 17.06.49.png

存在しないIDが返ってきました。うまくいかない場合もあるようです。。。他の内容も試してみましょう。

スクリーンショット 2023-11-20 17.09.03.png

存在するIDではあるのですが、よくよくみてみると「こんにちは」と同じ返答内容のようです。。。

さいごに

今回記事にする内容を思いついてQiitaを書き出すまでに1時間ほどしかたっていないので、Assistants APIを使えば本当に簡単に自分専用のAIアシスタントが作れることを実感しました。
ただし性能については何とも言えないのが現状なので、もう少しナレッジベースかInstructionsの調整が必要そうですね。

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?