見出し画像

ChatworkをChatGPTの操作卓にしちゃおう!

事の始まりは、ChatworkのAPIに興味を持ったこと。
どうせなら、ChatGPTへの問合せができればいいなぁなんて始めたのがきっかけです。
GPTsも使ってるんで、Assistantが使うをの目的に始めました。
も一つ目的が。。
過去メッセージが100件ほど管理してくれるってところです。
いまはRedisを使って、過去会話の管理をしてはいるんですが、どうせならって思ってたってのがあります。
ただ、この過去会話の管理ですが、上限とかの条件がないんですよね。
それとか、バッサリと消すとか。。
費用を考えると、そんなにたくさんもいるかなぁって感じなんで、メッセージを管理するAPIもほしいです(^^;

今はどこまでやっているか

RAGな環境も作りたかったので「Assistant + VectorStore + ChatGPT4」な環境で利用をしています。
・Assistant:メッセージの管理をしてもらっています。
      toolsのタイプを”file_search”としています。
・VectorStore:文書の管理、検索をしてもらっています。
・ChatGPT4:VectoreStoreからの返答を参考に返答文作成をしてもらっています。

Chatworkでの準備

ChatworkのWebhookを利用しています。
そのために、Chatbotと会話をするためのグループチャットの部屋を作成します。
複数で利用したいときは、招待すればいいし、自分だけの時は誰も招待をしなければOKです(^^)
この部屋番号をキーとして、Webhookの環境を構築します。
この辺りの話は「ChatworkのAPIを使ってみました」を参照ください。

以下がChatworkから使える機能です。

・ChatGPTへの問い合わせ
これをしたくて実装しましたww
・Assistantの作成
新規に作成をしますが、すでに同じAssistant名のがあれば作成をしません。
・Assistantの再作成
最初に作成をすれば、滅多に再作成は不要かと思いますが。。
Assistantを削除する
→Assistantを作成する
→削除前のVectoreStoreと再アタッチする
・VectoreStoreの作成
新規に作成をしますが、すでに同じVectoreStore名のがあれば作成をしません。作成時に、ファイルのアップロードを行います。
VectoreStoreは期限として3日を指定しています。
使われなくなって3日経ったら期限オーバーとして利用不可となります。
・VectoreStoreの再作成
何かの際にVectoreStoreの再作成が必要になった時。。
VectoreStoreを削除する
→VectoreStoreを作成する
→削除前のAssistantと再アタッチする
 ※一つのVectoreStoreが複数のAssistantからアタッチされないルールとしています。
→ファイルをアップロードする
・ファイルをVectoreStoreに追加する
Chatworkの添付ファイルとしてVectoreStoreに登録を可能にしています。
たくさんとなると非効率ですが、ちょっと追加するってのなら使えるかと思っています。
添付でメッセージを送る
→ファイルをVectoreStoreにアップロードする

やりたいこと

・VectoreStoreの中のファイルの整理
いらないファイルを削除したいです。
・VectoreStoreで認識できないファイルの確認
アップロードはしたけど、エラーとなったファイルをチェックしたいです。
コンソール画面からでも削除ができないんですよね。。
・画像生成
一応流れは作ってるんですが、Chatworkに添付付きで変換すればいいかと思っています。
・その他いろいろ(^^;

終わりに。。。

普段使っているChatworkのAPIを使いたいってのがきっかけでワラワラとやっています。
まだ、途中も途中なんで公開はおこがましいですが(^^;
あ、環境ですがnodejs使ってます。あいかわらずww

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