Local RAGをWindowsのOllama for Windows (Preview)で動かしてみた

AI・機械学習

最近、Windowsで動作するOllama for Windows (Preview)を使って、Local RAG(Retrieval Augmented Generation)を体験してみました。この記事では、そのプロセスと私の体験をステップバイステップで共有したいと思います。Local RAGはオフラインで動作するオープンソースのRAGで、ファイルを取り込んで大規模言語モデル(LLM)を活用した拡張生成を実現します。それでは、詳細に入りましょう。

Ollama for Windows (Preview)

まず最初に、Ollama for WindowsのPreview版を公式サイトからダウンロードしました。

Download Ollama on Windows
Download Ollama on Windows

インストールは非常に簡単で、ダウンロードしたファイルを実行し、画面の指示に従って進めるだけです。

file

インストールが完了すると、起動確認を行い、Windows上で問題なく動作することを確認しました。

file

Local RAGの特徴

Local RAGは、インターネットに接続せずにオフラインで動作するRAGです。これは、第三者の介入なく、また機密データがネットワーク外に流出することなく、オープンソースの大規模言語モデルを活用できるということを意味します。以下のような特徴があります:

  • オフラインでの埋め込みとLLMのサポート(OpenAI不要!)
  • ストリーミング応答
  • 会話記憶
  • チャットエクスポート

Docker-composeでの起動

Local RAGを利用するにあたり、Docker-composeを使用して環境を構築しました。これは、Local RAGとOllama for Windowsを統合し、効率的に動作させるための重要なステップです。

https://github.com/jonfairbanks/local-rag/blob/develop/docs/setup.md

C:\Prj\local-rag>docker-compose up
[+] Running 10/10
 ✔ local-rag 9 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                                                                  339.0s 
   ✔ e1caac4eb9d2 Pull complete                                                                                                                                                                                             4.9s 
   ✔ 51d1f07906b7 Pull complete                                                                                                                                                                                             1.4s 
   ✔ c0d8da8ab021 Pull complete                                                                                                                                                                                             4.2s 
   ✔ ce524da9d572 Pull complete                                                                                                                                                                                             2.3s 
   ✔ d0d45da63dd1 Pull complete                                                                                                                                                                                             4.3s 
   ✔ 7e4bf657f331 Pull complete                                                                                                                                                                                           295.5s 
   ✔ dbd4807657c5 Pull complete                                                                                                                                                                                             5.1s 
   ✔ 4f4fb700ef54 Pull complete                                                                                                                                                                                             5.5s 
   ✔ 8225ac29db65 Pull complete                                                                                                                                                                                             6.0s 
[+] Running 2/2
 ✔ Network local-rag_default  Created                                                                                                                                                                                       0.1s 
 ✔ Container local-rag        Created                                                                                                                                                                                       0.4s 
Attaching to local-rag
local-rag  | 
local-rag  |   You can now view your Streamlit app in your browser.
local-rag  | 
local-rag  |   URL: http://0.0.0.0:8501
local-rag  | 

Local RAGの使用方法

file

Local RAGの使用を開始するには、まず設定からOllamaのエンドポイントとモデルを設定します。その後、処理する文書をアップロードし、完了次第、アップロードした文書に基づいて質問をすることができます。設定では、「設定 > 詳細オプションを表示」をトグルすることで、RAGパイプライン内のすべてのオプションにアクセスできます。

Ollama設定

Ollamaでの設定は以下の通りです:

  • Ollamaエンドポイント :ローカルにホストされたOllama APIの場所で、デフォルトはhttp://localhost:11434です。
  • モデル :チャット補完を生成する際に使用する大規模言語モデルです。
  • システムプロンプト :LLMを初期化する際に使用される初期システムプロンプトです。
  • Top K :クエリに対する応答として取得する最も類似した文書の数で、デフォルトは3です。
  • チャットモード :検索中に使用するLlama Indexチャットモードです。

埋め込み設定

  • 埋め込みモデル :ファイルをベクトル化するために使用される埋め込みモデルです。
  • チャンクサイズ :より小さなテキスト部分に焦点を当てることで、埋め込みの精度を向上させます。

Docker-compose経由でのOllama接続の変更

Local RAGをDocker-composeで起動し、ホストPC上で動作するOllamaに接続する際には、接続設定をhttp://localhost:11434からhttp://host.docker.internal:11434に変更する必要があります。この変更は、Dockerコンテナ内からホストマシン上のサービスにアクセスするために必要です。

Dockerコンテナはデフォルトで隔離されており、localhostを使用しても、コンテナ内部のローカルホストを指します。そのため、ホストマシン上で動作しているサービスにアクセスするには、host.docker.internalを使用して、Dockerが提供する特別なDNS名を介してアクセスする必要があります。

file

デモ動画

まとめ

このプロセスを通じて、Windows上でLocal RAGを利用することの可能性を探ることができました。特に、オフラインでセキュアにデータを処理する必要性が高まっている現代において、このようなオープンソースのソリューションは非常に価値があると感じています。

コメント

タイトルとURLをコピーしました