1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローカルAI環境を1台で構築する【Ollama + Open WebUI + Dify + RAG】RTX4070で動かすChatGPT・Copilot代替構成

1
Last updated at Posted at 2026-06-06

はじめに

AIツールの多くはクラウドAPIに依存しており、利用コストやデータのプライバシーが課題になることがあります

OllamaはローカルPCでLLM(大規模言語モデル)を動かすためのオープンソースツールです
モデルのダウンロードから実行まで、コマンド一つで完結します

この記事では、RTX4070 12GB・RAM32GB搭載PCを対象に、以下の構成をすべてローカルで実現する手順を解説します

  • Open WebUI:ChatGPT代替のチャットUI
  • Dify:RAGベースのAIチャットボット・FAQシステム
  • DeepSeek Coder:GitHub Copilot代替のコード補完
  • pgvector(PostgreSQL):ベクトル検索によるRAG基盤

この記事でわかること

  • なぜこの構成を選ぶのか(設計思想と根拠)
  • RTX4070 12GB・RAM32GBで動かせるモデルの選び方
  • Docker Desktop / Ollama のインストール手順
  • Open WebUI の構築とOllama接続
  • Dify の構築とRAGナレッジベースの設定
  • VSCode + Continue によるコード補完環境の構築

前提条件

  • Windows 11 が動作している
  • RTX4070(12GB VRAM)以上のGPUを搭載している
  • RAM 32GB 以上
  • 基本的なコマンドライン操作ができる

なぜこの構成を選ぶのか

クラウドAI依存からの脱却

ChatGPTやGitHub Copilotは非常に便利ですが、利用コストとデータ管理に課題があります

課題 クラウドAI ローカルAI
月額コスト 数千〜数万円 電気代のみ
データの外部送信 あり なし
オフライン利用 不可 可能
カスタマイズ 制限あり 自由

社内ドキュメントや設計書をAIに入力する場面では、情報漏洩リスクを避けるためにローカル環境が適しています

OllamaをAI実行基盤にする理由

Ollamaは複数モデルを一元管理できます
Open WebUIやDifyからモデルを選択するだけで切り替えられるため、用途に応じた使い分けが容易です

全体構成

┌─────────────┐     ┌─────────────┐
│  Open WebUI │     │    Dify     │
└──────┬──────┘     └──────┬──────┘
       │                   │
       └─────────┬─────────┘
                 ▼
        ┌─────────────┐
        │   Ollama    │
        └──────┬──────┘
               │
   ┌───────────┼───────────┐
   ▼           ▼           ▼
qwen3:14b  deepseek-  qwen3:32b
           coder:16b

用途別のモデル選定

用途 モデル メモリ使用量の目安
汎用チャット・学習・AWS相談 Qwen3 14B 約10GB
コード補完・Python開発 DeepSeek Coder 16B 約12GB
RAG・社内ナレッジ検索 Qwen3 32B 約20GB前後
埋め込み(Embedding) nomic-embed-text 約0.3GB

今回のRTX4070に搭載されているVRAMが12GBのため、Qwen3 32Bのような大きなモデルはGPUメモリだけでは収まりません
そのため一部をメインメモリ(RAM)へ退避しながら実行します

ただし、通常は複数のモデルを同時に利用することは少なく

  • Open WebUIでQwen3 14Bを利用する
  • VSCodeでDeepSeek Coderを利用する
  • DifyでQwen3 32Bを利用する

といったように、その時に必要なモデルを切り替えながら使用します

複数のモデルをインストールしていても、通常は利用中のモデルだけがメモリを消費します
Ollamaは未使用モデルを自動的に解放するため、RTX4070・RAM32GB環境でも用途に応じてモデルを切り替えながら運用できます

RTX4070 12GBで実現できること

Windows 11
│
├─ Docker Desktop
│
├─ Ollama
│    ├─ qwen3:14b          ← ChatGPT代替(汎用質問回答)
│    ├─ deepseek-coder:16b ← GitHub Copilot代替(コード補完)
│    ├─ qwen3:32b          ← RAG用(社内ナレッジ検索)
│    └─ nomic-embed-text   ← Embedding(ベクトル化)
│
├─ Open WebUI              ← チャットUI
│
└─ Dify
     └─ RAG Knowledge Base
          ├─ PDF
          ├─ Word
          ├─ AWS資料
          ├─ Python教材
          └─ 社内ドキュメント

この構成1台で以下がすべて実現できます

  • ChatGPT代替(Open WebUI)
  • GitHub Copilot代替(DeepSeek Coder + Continue)
  • Dify開発・RAG構築
  • Python開発支援
  • Terraform生成・CI/CD設計

STEP1: Docker Desktopのインストール

インストール

Docker Desktop公式サイトからWindows版をダウンロードしてインストールします

インストール後、PCを再起動してください

動作確認

docker --version
docker compose version

出力例:

image.png

STEP2: Ollamaのインストール

インストール

Ollama公式サイトからWindows版をダウンロードしてインストールします

動作確認

ollama --version

image.png

インストール後、OllamaはバックグラウンドサービスとしてPort 11434 で起動します

STEP3: モデルのダウンロード

記事の構成上は複数のモデルを紹介していますが、最初からすべてダウンロードする必要はありません
必要な機能に応じて段階的に追加していくのがおすすめです

① 最小構成(まずはここから)

ollama pull qwen3:14b

これだけでOpen WebUIを使った以下の用途に対応できます

  • 汎用チャット・学習支援
  • AWS相談・設計支援
  • Pythonアプリケーション開発支援
  • DifyでのRAG構築(後述)

② コーディング支援を使いたい場合

VSCode + Continueでコード補完を使う場合に追加します

ollama pull deepseek-r1:32b

対応用途

  • VSCode Continueによるコード補完
  • コード生成・リファクタリング
  • テストコード生成

③ DifyでRAGを利用する場合

PDFや社内ドキュメントをナレッジベースに投入するEmbeddingモデルです
RAG構築には①のQwen3 14Bよりもこのモデルが先に必要になります

ollama pull nomic-embed-text

対応用途

  • PDFや資料のベクトル化
  • ナレッジベースの作成・類似検索

④ より高精度なRAGを利用する場合(任意)

Qwen3 32Bは必須ではありません
①のQwen3 14BでもDify + nomic-embed-textとの組み合わせでRAGは十分動作します
より精度の高い回答が必要になったタイミングで追加してください

ollama pull qwen3:32b

ダウンロード済みモデルの確認

ollama list

出力例(すべて導入した場合):

NAME                     ID              SIZE    MODIFIED
qwen3:14b                xxxxxxxxxxxxxxx  9.0 GB  x minutes ago
deepseek-coder:16b       xxxxxxxxxxxxxxx 10.0 GB  x minutes ago
qwen3:32b                xxxxxxxxxxxxxxx 20.0 GB  x minutes ago
nomic-embed-text         xxxxxxxxxxxxxxx  0.3 GB  x minutes ago

各モデルのダウンロードサイズは合計で約40GBになります。安定したネットワーク環境で実行してください

STEP4: Open WebUIの構築

作業フォルダの作成

mkdir C:\ai
cd C:\ai

Open WebUIの起動

docker run -d `
  -p 3000:8080 `
  --name open-webui `
  -v open-webui:/app/backend/data `
  --restart always `
  ghcr.io/open-webui/open-webui:main

起動後はSTEP5で接続確認を行います

STEP5: Open WebUIとOllamaの接続

Open WebUIの起動確認

ブラウザで以下のURLへアクセスします

http://localhost:3000

初回アクセス時に管理者アカウントを作成してください

Ollama接続の確認

Open WebUI最新版では、Ollamaが自動的に認識される場合があります
以下の手順で接続状態を確認します

ユーザーアイコン
  ↓
管理者パネル
  ↓
設定
  ↓
外部接続

「Ollama API」が表示されていることを確認します

Ollama API  http://host.docker.internal:11434

表示されていれば、Open WebUIからOllamaへの接続は完了しています

host.docker.internal はDockerコンテナからホストPC(Windows上で動作するOllama)へ接続するための特殊なホスト名です

モデルの確認

続いて以下の手順でモデルが認識されていることを確認します

管理者パネル
  ↓
モデル

またはチャット画面のモデル選択欄を確認します
以下のようなモデルが表示されていれば正常です

qwen3:14b
deepseek-coder:16b
nomic-embed-text

動作確認

「新規チャット」を作成し、モデルに qwen3:14b を選択します

image.png

以下のような質問を入力します

こんにちは。自己紹介してください。

応答が返ってくれば、Open WebUI → Ollama → Qwen3の接続は正常に完了しています

STEP6: Difyの構築

リポジトリのクローン

cd C:\ai
git clone https://github.com/langgenius/dify.git
cd dify/docker

環境ファイルの作成

copy .env.example .env

.env ファイルにはDifyの各種設定が含まれます。デフォルト設定のままで動作確認できます

Difyの起動

docker compose up -d

初回起動はイメージのダウンロードが含まれるため、数分かかります

起動確認

docker compose ps

すべてのサービスが Up 状態になっていることを確認します

ブラウザで以下のURLにアクセスします

http://localhost

初回アクセス時に管理者アカウントの作成画面が表示されます

以下の項目を入力して「セットアップ」をクリックします

項目 内容
メールアドレス 任意のメールアドレス(ローカル環境のため実在不要)
ユーザー名 任意のユーザー名
パスワード 英数字混在・8文字以上

セットアップ完了後、Difyのスタジオ画面(ダッシュボード)に直接遷移します
「アプリを作成する」が表示されていれば起動成功です

STEP7: DifyとOllamaの連携

Ollamaプラグインのインストール

DifyにOllamaを追加するには、まずプラグインのインストールが必要です

ダッシュボード右上のアカウントアイコンから設定画面へ進みます

右上のアカウントアイコン
  ↓
設定
  ↓
モデルプロバイダー

モデルプロバイダー画面が開いたら、検索欄に「Ollama」と入力します
「モデルプロバイダーをインストールする」セクションに Ollama が表示されるので「インストール」をクリックします

image.png

インストール完了後、「設定中」セクションにOllamaが表示されます
LLM TEXT EMBEDDING RERANK のバッジと「+ モデルを追加」ボタンが確認できれば成功です

image.png

モデルの追加

「+ モデルを追加」をクリックするとモデル追加フォームが開きます
以下の内容を入力して「追加」をクリックします

汎用チャット用

項目 入力値 備考
Model Name qwen3:14b 必須
Model Type LLM 必須
認証名 (空白) 任意
Base URL http://host.docker.internal:11434 必須
API Key (空白) ローカル環境のため不要
Completion mode Chat 必須

image.png

「追加」をクリックして完了です

image.png

コーディング支援用(deepseek-r1:32b を導入済みの場合)

項目 入力値 備考
Model Name deepseek-r1:32b 必須
Model Type LLM 必須
認証名 (空白) 任意
Base URL http://host.docker.internal:11434 必須
API Key (空白) ローカル環境のため不要
Completion mode Chat 必須

Embeddingモデルの設定

同じく「+ モデルを追加」からEmbeddingモデルを追加します

項目 入力値 備考
Model Name nomic-embed-text 必須
Model Type TEXT EMBEDDING 必須
認証名 (空白) 任意
Base URL http://host.docker.internal:11434 必須
API Key (空白) ローカル環境のため不要

「追加」をクリックして完了です

システムモデルの設定

モデルを追加すると「⚠️ アプリケーションを実行するためにデフォルトのシステムモデルを設定してください」という警告が表示されます
右上の「システムモデル設定」をクリックして設定します

各項目に追加したモデルを選択します

項目 設定値
システム推論モデル qwen3:14b
埋め込みモデル nomic-embed-text
Rerankモデル (未設定でも可)
音声-to-テキストモデル (未設定でも可)
テキスト-to-音声モデル (未設定でも可)

「保存」をクリックして警告が消えれば設定完了です

※警告が消えない場合は、Open WebUI 側の表示上の問題(既知の不具合)の可能性があります。モデルが正常に選択できていれば、そのまま進めて問題ありません。

image.png

STEP8: RAGナレッジベースの構築

image.png

上部ナビゲーションバーのアイコンから「ナレッジ」を選択します

「ナレッジベースを作成」ボタンをクリックします

「ナレッジベースを作成」
  ↓
「テキストファイルからインポート」を選択
  ↓
テキストファイルをアップロード

投入できるドキュメント例

  • PDFファイル(AWS資料、設計書、仕様書)
  • Wordファイル(社内マニュアル、手順書)
  • テキストファイル(Python教材、Terraform資料)
  • Markdownファイル

Embeddingモデルの選択

ナレッジベース作成時に以下を設定します

Embedding Model: nomic-embed-text(Ollama経由)

チャットボットへの組み込み

上部ナビゲーションの🤖(スタジオ)をクリックしてスタジオ画面に戻ります

🤖 スタジオ
  ↓
「最初から作成」
  ↓
「チャットボット」を選択
  ↓
アプリ名を入力して「作成する」

アプリ編集画面が開いたら以下を設定します

左パネル「コンテキスト」の「+」
  ↓
作成したナレッジを選択して追加
  ↓
右上のモデル選択で「qwen3:14b」を設定
  ↓
右上「公開する」→「実行」

チャット画面が開いたら投入したドキュメントに関する質問を入力します
ドキュメントの内容を参照した回答が返ればRAGの動作確認完了です

STEP9: VSCode + ContinueによるCopilot代替の設定

Continueのインストール

VSCodeの拡張機能マーケットプレイスから Continue を検索してインストールします

Continue公式サイト

image.png

設定ファイルの開き方

インストール後、以下の手順で設定ファイルを開きます

左サイドバーのContinueアイコンをクリック
  ↓
左メニューの「Configs」をクリック
  ↓
「Local Config」右の歯車アイコン ⚙ をクリック

C:\Users\user\.continue\config.yaml が開きます

設定ファイルの編集

以下の内容に書き換えて保存します

name: Local Config
version: 1.0.0
schema: v1
models:
  - name: DeepSeek R1 (Local)
    provider: ollama
    model: deepseek-r1:32b
    apiBase: http://localhost:11434
  - name: Qwen3 14B (Local)
    provider: ollama
    model: qwen3:14b
    apiBase: http://localhost:11434
tabAutocompleteModel:
  name: DeepSeek R1 (Local)
  provider: ollama
  model: deepseek-r1:32b
  apiBase: http://localhost:11434

動作確認

Pythonファイルを開いてコメントを1行書き、その行を選択した状態で Ctrl+I を押します

# HelloWorldを表示する処理を作成してください

インライン編集パネルが開いたら、上部の入力欄にそのまま指示を入力してEnterを押します

モデルに「DeepSeek R1 (Local)」が表示されていれば設定完了です
32Bモデルのため応答まで30秒〜1分程度かかります
コードが生成されれば動作確認完了です

image.png

最終構成まとめ

RTX4070 12GB / RAM 32GB / Windows 11
│
├─ Docker Desktop
│
├─ Ollama(AI実行基盤)
│    ├─ qwen3:14b          → Open WebUI で汎用チャット
│    ├─ deepseek-r1:32b    → VSCode Continue でコード補完
│    ├─ qwen3:32b          → Dify でRAGチャットボット
│    └─ nomic-embed-text   → Dify でEmbedding処理
│
├─ Open WebUI(http://localhost:3000)
│    └─ ChatGPT代替UIとして利用
│
├─ Dify(http://localhost)
│    └─ RAG Knowledge Base
│         ├─ AWS資料
│         ├─ Python教材
│         ├─ Terraform資料
│         └─ 社内ドキュメント
│
└─ VSCode
     └─ Continue(DeepSeek Coder経由)

トラブルシューティング

OllamaにOpen WebUIから接続できない

症状: Open WebUIの接続設定でエラーが出る

対処法:

  1. OllamaがWindowsサービスとして起動しているか確認
  2. Ollama URL を http://host.docker.internal:11434 に設定しているか確認
  3. ファイアウォールでPort 11434 がブロックされていないか確認

モデルの応答が非常に遅い

症状: 応答に数分かかる

対処法:

  1. タスクマネージャーでGPU使用率を確認(0%の場合はCPU動作になっている)
  2. Ollamaが正しくGPUを認識しているか確認:
ollama run qwen3:14b

起動時に GPU の表示があればGPU動作です

Difyのコンテナが起動しない

症状: docker compose up -d 実行後にコンテナが停止する

対処法:

  1. ログを確認:
docker compose logs
  1. .env ファイルが存在するか確認
  2. Docker Desktopのメモリ割り当てを確認(推奨: 8GB以上)

RAGで関連する回答が返ってこない

症状: ドキュメントを投入したが、その内容を参照した回答にならない

対処法:

  1. ドキュメントのインデックス化が完了しているか確認(Difyのナレッジベース画面でステータスを確認)
  2. Embeddingモデルが nomic-embed-text に設定されているか確認
  3. アプリの設定でナレッジベースが紐付いているか確認

まとめ

この記事で紹介した構成により、以下をすべてローカルで実現できます

用途 ツール モデル
汎用チャット・学習相談 Open WebUI Qwen3 14B
コード補完・開発支援 VSCode + Continue DeepSeek R1 32B
RAGチャットボット Dify Qwen3 32B
社内ナレッジ検索 Dify + Knowledge Base Qwen3 32B + nomic-embed-text

RTX4070 12GBのVRAMであれば、モデルを切り替えながら使用することで、ChatGPT・GitHub Copilot・社内RAGシステムのすべてを1台で賄えます

クラウドAIへの依存を減らしながら、実践的な生成AI基盤の構築経験を積む環境として最適な構成です

次のステップ

  • PostgreSQL + pgvector を導入してRAGのベクトルストアを強化する
  • Dify APIを使ってPythonアプリからRAGを呼び出す
  • CI/CDパイプラインにAIコードレビューを組み込む
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?