はじめに
最近LLMの進化が激しいですよね。特にローカルで動くLLMの需要が高まっていると思います。
5月にはあのMicrosoftもローカルAIを利用した新機能「ReCall」を発表しました。
スナップショットを数秒ごとに取得して内容を分析することで、操作履歴の検索を可能にした機能です。
とても魅力的ですが、公式サイトを見ると以下の機能が必須条件として挙げられていました。
お使いの PC には、Recall の次の最小システム要件が必要です。
- Copilot+ PC
- 16 GB RAM
- 8 つの論理プロセッサ
- 256 GB のストレージ容量
- Recall を有効にするには、少なくとも 50 GB の空き容量が必要です
- デバイスのストレージ領域が 25 GB 未満になると、スクリーンショットを自動的に一時停止する
Copilot+ PCが必須となっており、使用ハードルは少し高めな印象を受けました。
OpenRecallとは
「Recall」 は高性能なNPU1が必要になり、かつ、マルチプラットフォームに非対応です。そんな「ReCall」をOS選ばず、NPU非搭載PCでも実行可能にしたのがOpenRecall
になります。
これなら私の非力なUbuntuPCでも使えそうです。素晴らしきOSS精神!
OpenRecallをPCに導入してみる
今回使用する環境は以下です。
- OS: Ubuntu 22.04 LTS
- CPU: AMD Ryzen 5 5600u
- Memory: 16GB
1. pipでOpenRecallをインストールする
OpenRecallはpythonで動作するためpip installを行います。
$ python3 -m pip install --upgrade --no-cache-dir git+https://github.com/openrecall/openrecall.git
2. python3で実行
appを以下のコマンドで実行します。
$ python3 -m openrecall.app
ImportError: No module named '_sqlite3'
エラーが出た場合
- Ubuntuではデフォルトでsqlite3は入っていないため発生している
-
sudo apt ~
でsqliteパッケージをインストールしてから、再度pythonをインストールし直す必要がある - 詳しくはこちら
- pythonの再インストールは面倒であるため仮想環境の導入をおすすめする
Doctr
が見つからないエラーが出た場合
-
pip install python-doctr tf2onnx
でインストールする
mss.exception.ScreenShotError: XGetImage() failed
エラーが出た場合
- Ubuntu22.04は、X Window SystemではなくWaylandを採用している
- OpenRecallでは画面のスクリーンショットを取る際に
mss
というライブラリを使用している - mssではlinuxの場合X Window Systemにしか対応しておらず、Waylandには未対応
- そのため上手く実行できずクラッシュしていた
- issueでも同様の報告があった
- Waylandのサポートを提案するissueも立っているがまだ未対応
対応
- Ubuntu22.04のデフォルトディスプレイサーバをWaylandからX Window Systemに変更する
$ sudo vim /etc/gdm3/custom.conf
---
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false <- コメントアウトを外す
---
3. ローカルサーバーにアクセスする
http://localhost:8082 にアクセスすると、Recall機能が利用できます。
すごく簡単ですね。
使ってみた所見
実際に私が使用してみた感想としては、以下になります。
- うろ覚えでみた記事を探したいときに今までは検索履歴から辿るしかなかったが、Recall機能でスクリーンショットとして確実に見つけることができるようになった
- 高性能なLLMではなく普通のOCRライブラリを利用しており、そのため動作は軽量だが検索性能が使い物にならなかった
あまり明確な用途を見つけることはできませんでしたが、仕事のPCに導入できれば割り込み後にタスクを再開するときにどこまでやっていたかを確認できる等の利点はあるように感じました。
スクリーンショットから読み取った内容をナレッジグラフで検索できる等の検索性能が向上すると、さらに用途の幅も広がってきそうです。
私の場合、業務PCはMacであり高性能であるため、OpenRecallではなくRewind.aiを使用すると思います。
終わりに
正直なところ、あったら便利な機能だとは思うのですが、これ単体で何かが劇的に変わったとは感じられませんでした。(ゴリゴリの高性能LLMが動けばまた変わってくるのかもです...)
とても革新的な機能をOSSで作っていただけたのはめちゃくちゃありがたいですし、良い経験になりました。
AIエージェントが勝手にReCall機能を使うようになってくると、ユーザの仕事や動作を肩代わり、もしくは閲覧履歴からタスクをこなしてくれる未来があるかもですね。
最後にHRBrainでは一緒に働いてくれる仲間を募集しています。
参考