👨‍🏫

ArXivの論文を読んだAIと会話する「ArXivChatGuru」を動かす方法

2023/10/19に公開

ArXivChatGuruとは?

職場で面白そうなソフトを教えてもらって、試したらサクッと動いたのでメモです。

https://github.com/RedisVentures/ArXivChatGuru

ArXivChatGuru」は、ArXivの特定のトピック(分野)の論文に関して、インタラクティブに会話ができるソフトです。

具体的には以下のような流れになっています。

  • ArXivの特定のトピックに関係する論文をベクトル化してDBに格納
  • ChatGPTにプロンプトで質問するとDBのデータをもとに返事を返してくれる

図としては以下となります。


引用:ArXivChatGuru

いわゆるRetrieval-Augmented Generation(RAG)ですね。

ArXivChatGuruの動かし方

基本はREADMEどおりです。Dockerファイルもあるのであっさり動きますが、ちょっとだけ注意点があるので記載しておきます。環境はMacとLinuxで試しました。Linuxでは動きますが、何故かMacだと動いたり動かなかったりします(redisとの通信でこける、原因不明)。

Dockerのセットアップは以下記事参照ください。
https://karaage.hatenadiary.jp/entry/2019/05/17/073000

以下、ターミナルでコマンド実行していきます。

$ cd && git clone https://github.com/RedisVentures/ArxivChatGuru.git
$ cd ArxivChatGuru
$ cp .env.template .env

ここでエディタで.envを編集します。

編集するのは2箇所です。OPENAI_API_KEYREDIS_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したりしているのですが、なかなか期待する結果が出なかったりするんですよね。実力なのか、もうちょっと頑張ればなんとかなるのか…

誰か詳しい人教えてください。とりあえず今は、この本とか読んでいるところです。

https://amzn.to/3tEnLoZ

関連記事

https://zenn.dev/karaage0703/articles/c8baa66c40f9b7

Discussion