Ollama ローカルPCに文献検索用AI構築

文献を検索し、その情報をもとに作文するAIをローカルPC内に作りたい…
そのため、Dify と LM Studio を組み合わせてチャットを作っていました。

しかし、この組み合わせでは、チャット以外の機能では不具合が出ていました。
特に、ワークフローがどうしても機能せず…

LM Studio は windows でも簡単にインストールでき、とても便利なのですが…
とりあえず、あきらめてOllamaに乗り換えます…

Ollama インストール

ここでも、wsl2 内に構築した Ubuntu に docker を入れて、そこに Ollama+Open webUI を docker イメージで構築します。

まずは、Ollama のインストール。このページに従って、wsl内のUbuntuでコマンド入力。
Nvidia GPUの設定等出来ている場合には、以下のコマンドでインストール+コンテナ起動。

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --add-host=host.docker.internal:host-gateway --name ollama ollama/ollama --restart always

追加でモデルを指定します。たとえば…

docker exec ollama ollama run llama3

日本語モデルなら、たとえば…

docker exec ollama ollama run hf.co/elyza/Llama-3-ELYZA-JP-8B-GGUF

(2度目の起動は、「docker start コンテナID」でOK)

RAG作成用の日本語の埋め込みモデルは、E5が初心者向けだと思います。以下のコマンドでインストールします。
(フォーマット形式をggufに変更する前のE5はこちら

docker exec ollama ollama run hf.co/phate334/multilingual-e5-large-gguf

Open WebUI インストール

次に、Open WebUI のインストール。このページに従ってコマンド入力。

今回は Ollama に GPU資源を全力を投入することにして、今回は
If Ollama is on your computer, use this command:
に従い、以下を入力。

docker run -d -p 3001:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

サンプルではポート3000を使用する設定ですが、3000を空けておきたいので、3001に変えています。

起動

ブラウザから、localhost:3001 にアクセス。

アカウントを作成すれば使えるようになります。

RAG

Open WebUI の文献検索機能を使用します。
まずは文献を登録します。
「ワークスペース」から「ナレッジベース」を選択、「+」を押して新しいナレッジを作成します。

今回は青空文庫から「銀河鉄道の夜」を使用させていただきます。「Collectionの検索」横の「+」からファイルを選択します。

続いて、モデルにナレッジを組み込みます。

モデルに名前を付け、ナレッジベースに先ほど登録した文献を入れます。

文献を使用したチャット

新しいチャットを開始します。使用モデルは先ほど作成したモデルです。

文献を参照しています。一方で、文献を使用しないときの回答は以下のようになりました。

コメント