ArXivの論文を読んだAIと会話する「ArXivChatGuru」を動かす方法
ArXivChatGuruとは?
職場で面白そうなソフトを教えてもらって、試したらサクッと動いたのでメモです。
「ArXivChatGuru」は、ArXivの特定のトピック(分野)の論文に関して、インタラクティブに会話ができるソフトです。
具体的には以下のような流れになっています。
- ArXivの特定のトピックに関係する論文をベクトル化してDBに格納
- ChatGPTにプロンプトで質問するとDBのデータをもとに返事を返してくれる
図としては以下となります。
いわゆるRetrieval-Augmented Generation(RAG)ですね。
ArXivChatGuruの動かし方
基本はREADMEどおりです。Dockerファイルもあるのであっさり動きますが、ちょっとだけ注意点があるので記載しておきます。環境はMacとLinuxで試しました。Linuxでは動きますが、何故かMacだと動いたり動かなかったりします(redisとの通信でこける、原因不明)。
Dockerのセットアップは以下記事参照ください。
以下、ターミナルでコマンド実行していきます。
$ cd && git clone https://github.com/RedisVentures/ArxivChatGuru.git
$ cd ArxivChatGuru
$ cp .env.template .env
ここでエディタで.env
を編集します。
編集するのは2箇所です。OPENAI_API_KEY
、REDIS_HOST
です。
OPENAI_API_KEY
にはOpen AIのKEYを入力してください。REDIS_HOST
には実行するマシンのIPアドレスを指定します。.env
ファイルにはlocalhost
と書けばよいと書いてありますが、私の環境ではだめでした。Dockerだから?? 同じエラーのissueに助けられました。
あと、Linux環境ではDockerfile
の"App.py"
を"app.py"
にする必要がありました。
これでセットアップは完了です。あとは、毎回以下コマンド実行するだけで起動します。
$ cd ~/ArxivChatGuru
$ docker compose up
コマンド実行したらブラウザで以下アドレスにアクセスします。
http://localhost:8501/
以下のような画面が出たらOKです。
ArXivChatGuruを試す
最初に適当なTopic(「AI」とか「Deep learning」とか)を入力して「Chat」をクリックします。
すると、(多分)arXivから関連する論文を取得してベクトル化してDBに保存してくれます。
あとは、好きなことをグルに聞いてください。ディープラーニングの凄いところを聞いた例です。
まとめ
「ArXivChatGuru」の動かし方の紹介でした。今のところ、実用性は??という感じです。大量に学習したら、凄いグルになるんでしょうか?
自分のブログ記事をベクトル化してRAGしたりしているのですが、なかなか期待する結果が出なかったりするんですよね。実力なのか、もうちょっと頑張ればなんとかなるのか…
誰か詳しい人教えてください。とりあえず今は、この本とか読んでいるところです。
関連記事
Discussion