1. はじめに
VRAM 2GBのへっぽこGPUで、ローカルLLMと画像認識と画像生成を試してきましたが、今回はRAGにチャレンジしたいと思います。OllamaとLangflowを組み合わせて使います。
2. システム構成
例によってPCの構成は以下の通りです。Ivy Bridgeおじさん代表として頑張ります。ちなみに、スペック不足のせいだとは思いますが、Langflowの起動に3分半程かかります。
- グラフィックボード: NVIDIA GeForce GT 1030 GDDR5 2GB
- メモリ: 16GB DDR3
- CPU: Core i7-3770
- OS: Windows 11 Pro 24H2
- Ollama: 0.32.13
- Langflow: 1.12.4
- NVIDIAドライバ: 582.66
3. 事前準備
OllamaとLangflowをインストールします。なお、長くなってしまうので、インストール手順は割愛します。
3.1. モデルの入手
Ollamaで利用するモデルは以下のとおりです。必要に応じて、pullしてください。
- qwen3-embedding:0.6b
- gemma4:e2b
C:\>ollama list
NAME ID SIZE MODIFIED
gemma4:e2b 7fbdbf8f5e45 7.2 GB 2 weeks ago
qwen3-embedding:0.6b ac6da0dfba84 639 MB 3 weeks ago
3.2. Langflow用の追加設定
以下のエラーが発生してビルドに失敗する場合は、batファイルを作り、そこからLangflowを起動することで事象を回避できます。なお、Langflowを導入しているパスに応じて、batファイルの内容を修正してください。
※ 筆者は空き容量の多いドライブにLangflowを導入。
エラー:
Local-file access requires an authenticated user or flow scope when LANGFLOW_RESTRICT_LOCAL_FILE_ACCESS=true.
@echo off
set LANGFLOW_RESTRICT_LOCAL_FILE_ACCESS=false
"K:\Langflow\Langflow .exe"
exeファイル名にスペースが含まれていますが、これはバグのようです。以前の投稿をご覧ください。
3.3. RAG用ドキュメント作成
RAG用に文章だけのPDFファイルを作成します。今回は動作検証をしやすくするため、内容がフェイクとなっておりますのでご注意ください。
日本人の二人に一人が猫を飼っている。
日本で最も好まれている猫はブリティッシュショートヘアーである。
猫の寿命は長く、平均寿命は30年である。
Langflow起動後、下図のとおり、「マイファイル」から作成したPDFをアップロードします。

4. RAG作成
Langflow上でフローを作成していきます。なお、長くなってしまうので、Langflowの基本操作については割愛します。フローを作るのが面倒な方のために、筆者のフローをエクスポートしたファイルがこちらです。参考までに、下図の画面からインポート可能です。

4.1. PDFファイル取り込み用フロー作成
以下のフローを作成し、「Chroma DB」にPDFファイルの内容を取り込めるようにします。左端の「ファイルを開く」コンポーネントで、先ほど作成したPDFファイルを指定します。右端の「Chroma DB」コンポーネントの「Collection Name」には、任意の値を設定してください。

下図のとおり、右端の「Chroma DB」コンポーネントの再生ボタンを押して実行します。しばらくすると「フローが正常に構築されました」というメッセージが表示されます。
※ 筆者の環境では約42秒で処理が完了。

4.2. LLMとの会話用フロー作成
以下のフローを追加し、LLMと会話できるようにします。なお、「Chroma DB」コンポーネントの「Collection Name」は、先ほど作成したフローと同一となるようにします。

最終的に、フローの全景は以下のようになります。下段のフローが最初に作成したフローで、上段のフローが追加で作成したフローです。ウィンドウ右上の方にある「プレイグラウンド」を押して、LLMとの会話をスタートします。

5. 実行結果とまとめ
以下の画面のとおり、RAGとして機能していることがわかります。Langflowに関する日本語の参考情報が少ない点は困るかもしれませんが、慣れれば短時間でRAGを作成できると思います。ただ、AIに不適切な情報も教え込めそうで、ちょっと怖いです。
