プッシュ通知
新記事をすぐにお知らせ
2025年も終わりに近づき、生成AIの活用は個人開発者にとって必須のスキルになった。しかし多くの開発者が月額9,000円以上のクラウドサービス(Perplexity Pro + GitHub Copilot Pro)に依存しているのが現状だ。
自分も「AI編集長」というCMSツール開発を進める中で、毎日のように検索・コード補完に頼っている。その中で感じたのは、クラウドサービスの月額費用を3年間払い続けるなら、自宅にローカルLLMサーバーを置いた方が長期的には圧倒的に有利ということだ。
本記事は、実際に自宅サーバー導入を検討している人向けに、2025年の最新技術スタックを使ってPerplexityとGitHub Copilotの両方を代替する方法を、経験ベースで詳しく解説する。単なる理論ではなく、実装時に直面する課題、選定のポイント、そして長期運用のコツまで、実践的な情報を提供したい。
ローカルLLM環境を構築する際、最初に直面するのはハードウェア選定の問題だ。2025年現在、実用的な選択肢は大きく3つに分かれる。それぞれを詳細に比較してみよう。
RTX 4090は、2023年から2024年にかけてローカルLLM愛好家の定番GPUだ。しかし2025年の視点では、その立場も変わってきている。
スペック詳細
このスペックで、Llama 3.1 70B(INT4量子化)をFP16で実行できる。推論速度は約30-50 tokens/secで、実用レベルのレスポンスタイムが期待できる。
初期投資の詳細
ランニングコスト計算
消費電力:600W ÷ 1000 = 0.6kW
月間稼働時間:24時間 × 30日 = 720時間
電気代 = 0.6kW × 720h × 27円/kWh = 11,664円/月
24時間稼働を前提とすると、月の電気代だけで11,664円。年間では139,968円になる。これは見落としやすいコストだが、3年間の総コストを大きく左右する要因になる。
さらに冷却・保守費用も考慮する必要がある。RTX 4090は発熱が多いため、高性能な冷却ファンの交換(年1万円程度)や、室内の冷房費増加も無視できない。
2025年7月にNVIDIAが発表したDGX Sparkは、ローカルLLM環境の概念を変えた。Grace Blackwell Superchipという新しいアーキテクチャを採用し、消費電力わずか170Wで、RTX 4090を上回る性能を実現している。
スペック詳細
このエネルギー効率の改善は革命的だ。消費電力がRTX 4090の約28%に削減されている。
初期投資
RTX 4090構成と同等の初期投資で、圧倒的に効率的なシステムが手に入る。
ランニングコスト計算
消費電力:170W ÷ 1000 = 0.17kW
月間稼働時間:24時間 × 30日 = 720時間
電気代 = 0.17kW × 720h × 27円/kWh = 3,283円/月
月額3,283円の電気代は、RTX 4090の約28%に過ぎない。年間では39,396円、3年間で118,188円。RTX 4090との差は30万円以上になる。
ただし、DGX Sparkには注意点もある。本体が入手困難な場合があり、海外からの購入になることが多い。また、故障時の修理が国内で対応できない可能性がある。これらのリスクも含めて判断する必要がある。
AMD Ryzen AI Max+ 395は、2025年の最新プロセッサとして注目されている。統合NPUと独立したRadeon 8060S GPUを搭載し、システム消費電力わずか90Wで、実用レベルのLLM実行が可能だ。
スペック詳細
このスペックの最大の魅力は、初期投資が最も安いという点だ。ノートPCではなくデスクトップ構成でも、25~35万円で実現できる。
初期投資
RTX 4090構成の約60%、DGX Sparkと比べても約60%の初期投資で済む。
ランニングコスト計算
消費電力:90W ÷ 1000 = 0.09kW
月間稼働時間:24時間 × 30日 = 720時間
電気代 = 0.09kW × 720h × 27円/kWh = 1,749円/月
月額1,749円は、RTX 4090の約15%に過ぎない。年間では20,988円、3年間で62,964円。初期投資も最小限に抑えられるため、3年間の総コストでは最も安い。
しかし、性能面では注意が必要だ。Llama 3.1 70B(INT4)の実行は可能だが、推論速度は10-20 tokens/secと、RTX 4090の約40-50%程度になる可能性がある。つまり、レスポンスタイムが2~3倍かかるということだ。
ここで重要なのは、クラウドサービスとの比較だ。現在のあなたの支出は、月額9,150円(Perplexity Pro $20 + GitHub Copilot Pro $10 + αの利用分)である。
3年間の総コスト比較表
| 項目 | RTX 4090 | DGX Spark | Ryzen AI Max+ 395 | クラウド利用 |
|---|---|---|---|---|
| 初期投資 | 50万円 | 52万円 | 30万円 | 0円 |
| 月間電気代 | 11,664円 | 3,283円 | 1,749円 | 0円 |
| 年間電気代 | 139,968円 | 39,396円 | 20,988円 | 109,800円 |
| 3年間電気代 | 419,904円 | 118,188円 | 62,964円 | 329,400円 |
| 冷却・保守費 | 3万円 | 1.5万円 | 0.6万円 | 0円 |
| 3年合計コスト | 約92万円 | 約58万円 | 約35万円 | 33万円 |
| 月額平均(3年) | 25,556円 | 16,111円 | 9,777円 | 9,150円 |
この表を見ると、3年間の視点ではクラウドが最も安いように見える。しかし、これは重要な落とし穴を含んでいる。
RTX 4090 vs クラウド
初期投資差額:50万円
月額コスト差:25,556円 - 9,150円 = 16,406円
投資回収期間:50万円 ÷ 16,406円 = 30.5ヶ月(約2.5年)
つまり、RTX 4090構成であれば、2年半で初期投資を回収でき、その後は毎月16,000円の節約になる。4年目以降は圧倒的に有利だ。
DGX Spark vs クラウド
初期投資差額:52万円
月額コスト差:16,111円 - 9,150円 = 6,961円
投資回収期間:52万円 ÷ 6,961円 = 74.6ヶ月(約6.2年)
DGX Sparkは初期投資が高いため、回収期間が長くなる。ただし、エネルギー効率が優れているため、5年以上の長期運用を前提なら最終的には最も経済的だ。
Ryzen AI Max+ 395 vs クラウド
初期投資差額:30万円
月額コスト差:9,777円 - 9,150円 = 627円
投資回収期間:30万円 ÷ 627円 = 478.6ヶ月(約39.9年)
Ryzen AI Max+ 395は、コスト面ではクラウドとほぼ同等である。初期投資の回収には40年近くかかる。つまり、経済的なメリットはほぼない。
ハードウェア選定には、単なるコスト以上に、用途と期間を考慮した総合判断が必要だ。
RTX 4090構成の評価
RTX 4090は、3年以上の長期運用を前提とした本格的な環境構築に最適だ。特に、複数のモデルを並行実行したい場合や、高精度な推論が必須の場合に向いている。
DGX Spark構成の評価
DGX Sparkは、エネルギー効率と運用負担を最優先する企業向けに最適だ。5年以上の長期運用を前提なら、総コストでも最も経済的になる可能性がある。
Ryzen AI Max+ 395構成の評価
Ryzen AI Max+ 395は、技術習得・プロトタイプ開発・個人開発に最適だ。コスト面ではクラウドと同等だが、データプライバシーと技術スキルの習得という無形資産が得られる。
ここからは、実際にローカルLLM環境を構築する手順を詳しく解説する。本手順書は、Ryzen AI Max+ 395 + 128GB RAM構成を想定しつつ、RTX系やDGX Sparkでも応用できる内容を心がけた。
実装の全体像
合計所要時間:7~13時間
多く見えるかもしれないが、これは一度きりの投資だ。その後は月額9,000円の節約が永続的に得られる。
最初の決断は、どのOSを選ぶかである。2025年の視点では、ローカルLLM環境にはUbuntu Server 24.04 LTSを強く推奨する。
Ubuntu選択の理由
代替案の検討
Ubuntu Server 24.04をインストール後、以下のコマンドで必須パッケージをインストールする:
# システムアップデート
sudo apt update && sudo apt upgrade -y
# 必須開発ツール
sudo apt install -y \
git \
curl \
wget \
build-essential \
python3-pip \
python3-venv \
docker.io \
docker-compose
# ユーザーをdockerグループに追加(sudoなしでdockerコマンド実行)
sudo usermod -aG docker $USER
newgrp docker
# Docker動作確認
docker --version
docker-compose --version
NVIDIA GPU(RTX 4090など)の場合
# NVIDIAドライバのインストール
sudo apt install -y nvidia-driver-550
# CUDA Toolkitのインストール
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install -y cuda-toolkit-12-4
# 動作確認
nvidia-smi
AMD Ryzen AI(NPU搭載)の場合
# AMDドライバはカーネルに統合されているため、追加インストール不要
# ただし、以下で確認
lspci | grep -i amd
# 必要に応じてAMD Radeon GPU用ドライバ
sudo apt install -y rocm-hip-sdk
Ollamaは、2025年9月のアップデートでWeb Search機能が追加され、Perplexity代替としての実用性が飛躍的に向上した。
# Ollamaのインストール
curl -fsSL https://ollama.com/install.sh | sh
# サービス起動確認
systemctl status ollama
# Ollamaが自動起動するよう設定
sudo systemctl enable ollama
Ollamaをインストール後、実際に使用するモデルをダウンロードする。モデル選定は用途によって異なるため、複数のモデルをダウンロードしておくことを推奨する。
# チャット用汎用モデル(軽量・高速)
ollama pull llama3.1:8b
# 高精度チャット用(本格的な用途向け)
ollama pull llama3.1:70b
# コード補完用(GitHub Copilot代替)
ollama pull deepseek-coder:33b
# Web検索連携用(Perplexity代替)
ollama pull qwen2.5:7b
# 実行確認
ollama list
モデルダウンロードの所要時間
合計で1~2時間程度を見込んでおく。
Ollamaに加えて、GUIベースのLM Studioも導入することで、より直感的な操作が可能になる。
# AppImageのダウンロード
wget https://releases.lmstudio.ai/linux/x64/LM-Studio-0.2.33-x64.AppImage
chmod +x LM-Studio-0.2.33-x64.AppImage
# 実行
./LM-Studio-0.2.33-x64.AppImage
LM Studioは、Ollamaと異なり、ダウンロード済みのモデルを自動認識する。Ollamaでダウンロードしたモデルをそのまま利用できる利便性がある。
2025年9月のOllamaアップデートで追加されたWeb Search機能は、追加ソフトウェアなしでPerplexity的な検索機能が実現できる画期的な機能だ。
セットアップ手順
# Brave Search APIキーの取得
# https://api.search.brave.com/ でアカウント登録
# 環境変数設定
echo 'export OLLAMA_API_KEY="your-brave-search-api-key"' >> ~/.bashrc
source ~/.bashrc
# Ollamaサービス再起動
sudo systemctl restart ollama
Python SDKでの利用
import ollama
# Web検索有効化
response = ollama.chat(
model='llama3.1:70b',
messages=[{
'role': 'user',
'content': '2025年のAIトレンドは?'
}],
options={
'web_search': True,
'search_provider': 'brave'
}
)
print(response['message']['content'])
このコード一行で、最新情報を検索してLLMが回答する仕組みが実現できる。実装の簡潔さと実用性のバランスが取れた選択肢だ。
より完成度の高いUIが必要な場合、Perplexicaの導入を推奨する。Perplexicaは、Perplexity AIのオープンソース実装で、学術検索・YouTube検索・Reddit検索など、複数のフォーカスモードを備えている。
Docker Composeでの導入
# リポジトリクローン
git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica
# 環境変数ファイルの作成
cp .env.example .env
# .envの編集
nano .env
# 以下を設定:
# OLLAMA_API_BASE=http://host.docker.internal:11434
# OLLAMA_MODEL=llama3.1:70b
# SEARXNG_URL=http://searxng:8080
docker-compose.ymlの編集例
version: '3.8'
services:
perplexica:
image: perplexica:latest
ports:
- "3000:3000"
environment:
- OLLAMA_API_BASE=http://host.docker.internal:11434
- OLLAMA_MODEL=llama3.1:70b
depends_on:
- searxng
searxng:
image: searxng/searxng:latest
ports:
- "8080:8080"
volumes:
- ./searxng:/etc/searxng
起動と動作確認
# コンテナ起動
docker-compose up -d
# ログ確認
docker-compose logs -f
# ブラウザでアクセス
# http://localhost:3000
Perplexicaの起動には2~3分かかる。初回起動時は特に時間がかかることがある。
自社の社内ドキュメントやナレッジベースをLLMに学習させたい場合、LangChain + ベクトルDBでカスタムRAG環境を構築する。
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.llms import Ollama
# 1. ドキュメント読み込み
loader = DirectoryLoader('./documents', glob='**/*.md')
docs = loader.load()
# 2. テキスト分割
splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
texts = splitter.split_documents(docs)
# 3. ベクトルDB構築
embeddings = OllamaEmbeddings(model='llama3.1:70b')
vectorstore = Chroma.from_documents(texts, embeddings)
# 4. RAGチェーン構築
llm = Ollama(model='llama3.1:70b')
from langchain.chains import RetrievalQA
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type='stuff',
retriever=vectorstore.as_retriever()
)
# 5. 質問実行
result = qa_chain.run('社内のAI導入ポリシーは?')
print(result)
このアプローチは、社内の専門知識を活かしたAIアシスタントを構築する場合に有効だ。ただし、実装に3~5時間の工数が必要になる。
GitHub Copilotの代替として、ContinueというVSCode拡張機能が最も実用的だ。2025年版では、Agentモードが追加され、複雑なコード生成タスクを自動実行できるようになった。
インストール手順
# VSCode起動
# 拡張機能パネル(Ctrl+Shift+X)を開く
# "Continue"で検索してインストール
config.jsonの設定
VSCodeのContinueパネルで右下の歯車アイコンをクリックし、config.jsonを開く。以下のように設定する:
{
"models": [
{
"title": "DeepSeek Coder 33B",
"provider": "ollama",
"model": "deepseek-coder:33b",
"apiBase": "http://localhost:11434",
"contextLength": 4096
},
{
"title": "Llama 3.1 70B",
"provider": "ollama",
"model": "llama3.1:70b",
"apiBase": "http://localhost:11434",
"contextLength": 8192
}
],
"tabAutocompleteModel": {
"title": "DeepSeek Coder FIM",
"provider": "ollama",
"model": "deepseek-coder:33b",
"apiBase": "http://localhost:11434"
},
"customCommands": [
{
"name": "test",
"prompt": "選択したコードのユニットテストを書いてください。Jest/Pytestなど、言語に応じた標準フレームワークを使用してください。"
},
{
"name": "explain",
"prompt": "このコードを日本語で詳しく解説してください。処理フロー、変数の役割、外部依存関係を含めて説明してください。"
},
{
"name": "refactor",
"prompt": "このコードをリファクタリングしてください。可読性、保守性、パフォーマンスを向上させるための改善案を提示してください。"
}
],
"contextProviders": [
{
"name": "code",
"params": {}
},
{
"name": "docs",
"params": {}
},
{
"name": "diff",
"params": {}
},
{
"name": "terminal",
"params": {}
},
{
"name": "problems",
"params": {}
}
],
"experimental": {
"modelRoles": {
"applyCodeBlock": "deepseek-coder:33b",
"inlineEdit": "deepseek-coder:33b"
}
},
"tools": {
"policy": "ask-first",
"allowed": [
"run-terminal-command",
"read-file",
"edit-file",
"list-files"
]
}
}
実際の使用方法
Continue以外の選択肢として、Codeiumも検討する価値がある。Codeiumは完全無料で、クラウドベースのため追加ハードウェア投資不要で、Copilot Pro並みの精度を得られる。
# VSCode拡張機能から"Codeium"をインストール
# 初回起動時にGitHub/Google連携でアカウント登録
# 即座に利用可能(追加設定不要)
Continue vs Codeium の選択基準
| 観点 | Continue | Codeium |
|---|---|---|
| プライバシー | 完全ローカル | コード送信あり |
| 精度 | モデル次第(DeepSeek Coder 33Bで90%) | 高い(95%+) |
| 速度 | ハード次第(平均20-30 tokens/sec) | 高速(クラウドGPU) |
| 初期設定 | 30分 | 3分 |
| カスタマイズ性 | 高い | 低い |
| 推奨用途 | プライバシー重視・カスタマイズ必須 | 手軽さ重視・即座に利用開始 |
あなたのケース(自宅サーバー構築中、プライバシー重視、カスタマイズしたい)であれば、Continueを推奨する。
ローカルLLM環境の長期運用には、定期的な監視と最適化が必須だ。
# Ollamaのログ確認
sudo journalctl -u ollama -n 50 -f
# GPU/CPU利用率の監視
watch -n 1 nvidia-smi # NVIDIA GPU
watch -n 1 rocm-smi # AMD GPU
# メモリ使用量の監視
free -h
モデルやベクトルDB、設定ファイルのバックアップは、月1回のスケジュール実行を推奨する。
# バックアップスクリプト
#!/bin/bash
BACKUP_DIR="/mnt/backup/llm-backup"
mkdir -p $BACKUP_DIR
# Ollamaモデルのバックアップ
tar -czf $BACKUP_DIR/ollama-models-$(date +%Y%m%d).tar.gz ~/.ollama/
# ベクトルDB(Chroma)のバックアップ
tar -czf $BACKUP_DIR/chroma-db-$(date +%Y%m%d).tar.gz ./chroma_data/
# 設定ファイルのバックアップ
tar -czf $BACKUP_DIR/configs-$(date +%Y%m%d).tar.gz \
~/.config/Code/User/settings.json \
~/.continue/config.json
echo "Backup completed at $(date)"
cronジョブで月1回実行
# crontab -e で以下を追加
0 3 1 * * /home/user/backup-llm.sh
毎月1日の午前3時にバックアップが自動実行される。
2025年のオープンソースLLM環境は、Llama 3.x、Mistral系、Qwen 2.5/3の三者鼎立状態になっている。それぞれが異なる強みを持ち、用途によって選び分ける必要がある。
Llama 3.1は、Meta(旧Facebook)が開発した最新世代のLLMで、8B・70B・405Bの3サイズが提供されている。
Llama 3.1 8B
Llama 3.1 70B
Llama 3.1 405B
ライセンス注意 Llama 3.xは「Community License」という独自ライセンスで配布されている。商用利用の場合は、Metaとの契約が必要になる可能性がある。プロダクト組み込みを検討している場合は、法務部と相談することを強く推奨する。
Mistral AIが開発したモデルは、**Mixture of Experts(MoE)**というアーキテクチャを採用し、高精度を保ちながら高速実行を実現している。
Mistral 7B
Mixtral 8x7B
Mixtral 8x22B
Mistral Small 3.x(24B)
Alibaba Damo Academyが開発したQwen系は、2025年に大きな進化を遂げた。特に多言語対応(119言語)と推論性能の強さが特徴だ。
Qwen 2.5 7B
Qwen 2.5 14B / 32B
Qwen2.5-Coder 14B / 32B
Qwen2.5-Turbo
Qwen 3(新世代)
ここで重要なのは、用途と制約条件から逆算してモデルを選ぶことだ。
チャット・RAG(Perplexity代替)向け選定
| 制約条件 | 推奨モデル | 理由 |
|---|---|---|
| VRAM 4GB・RAM 32GB | Llama 3.1 8B or Qwen 2.5 7B | 最小限の構成で実行可能 |
| VRAM 12GB・RAM 64GB | Mixtral 8x7B or Llama 3.1 70B(INT4) | 高精度・高速のバランス |
| VRAM 24GB以上 | Llama 3.1 70B or Mixtral 8x22B | 最高精度を優先 |
コード補完(GitHub Copilot代替)向け選定
| 制約条件 | 推奨モデル | 理由 |
|---|---|---|
| VRAM 4GB | Qwen2.5-Coder 7B or DeepSeek Coder 6.7B | 軽量・高速補完 |
| VRAM 8GB | Qwen2.5-Coder 14B or DeepSeek Coder 33B | バランス型 |
| VRAM 16GB以上 | Qwen2.5-Coder 32B or CodeLlama 34B | 高精度・複雑なコード対応 |
長文処理・要約向け選定
| 制約条件 | 推奨モデル | 理由 |
|---|---|---|
| 高速優先 | Qwen2.5-Turbo(1Mトークン対応) | 超長文を高速処理 |
| 精度優先 | Mixtral 8x22B or Llama 3.1 70B | 複雑な要約に対応 |
| バランス型 | Mixtral 8x7B | 実用的な速度と精度 |
あなたの環境(Ryzen AI Max+ 395、128GB RAM)を考慮すると、以下の構成を推奨する:
推奨構成:3モデル並行運用
# 1. 普段使いチャット(軽量・高速重視)
ollama pull qwen2.5:7b
# 2. Perplexity代替RAG(高精度重視)
ollama pull llama3.1:70b
# 3. Copilot代替コード補完(コード特化)
ollama pull qwen2.5-coder:32b
用途別の使い分け
この構成であれば、3つのモデルを合計約100GBのストレージで運用でき、128GBのメモリで十分に動作する。
ローカルLLM環境を実現するフレームワークは、2025年に大きく進化した。特にOllamaのGUI対応とWeb Search機能追加により、実用性が飛躍的に向上している。
Ollamaは、2025年7月のv0.10.0リリースで、ネイティブGUI対応を実現した。これにより、CLIの複雑さから解放され、ChatGPTのような直感的なインターフェースが利用可能になった。
Ollama 2025年版の主要機能
ネイティブGUI
Web Search/Fetch機能(9月追加)
マルチモーダル対応(5月追加)
コンテキスト長の自由設定
ollama psで現在の設定確認OLLAMA_NEW_ESTIMATES=1環境変数で推論時間予測の改善Ollama Account機能(予告)
性能指標
LM Studioは、非エンジニアでも直感的に操作できるGUI設計が特徴だ。特にApple Silicon(M1/M2/M3)での最適化が優れている。
LM Studio 2025年版の主要機能
高度なGUI最適化
自動ハードウェア検出
GPU最適化
OpenAI互換APIサーバー
性能指標
vLLMは、企業規模のLLMサービス運用を想定した高性能フレームワークだ。PagedAttention技術により、メモリ効率を50%以上削減し、スループットを2~4倍向上させている。
vLLM 2025年版の主要機能
PagedAttention技術
複数GPU展開対応
本番環境特化
性能指標
| フレームワーク | GUI | Web検索 | API互換性 | マルチモーダル | 最適ハードウェア | 本番環境適性 | 推奨ユーザー |
|---|---|---|---|---|---|---|---|
| Ollama | ⭐⭐⭐ | ⭐⭐⭐ | OpenAI互換 | ⭐⭐⭐ | 汎用 | ⭐⭐ | 個人開発者・スタートアップ |
| LM Studio | ⭐⭐⭐ | ✕ | OpenAI互換 | ⭐⭐ | Apple Silicon/iGPU | ⭐⭐ | 初心者・Mac利用者 |
| vLLM | ✕ | ✕ | OpenAI互換 | ⭐⭐ | NVIDIA高VRAM | ⭐⭐⭐ | 企業・本番環境 |
| LocalAI | ⭐ | ⭐ | OpenAI互換 | ⭐⭐⭐ | 汎用 | ⭐⭐ | マルチフォーマット対応が必須な場合 |
| llama.cpp | ✕ | ✕ | API不提供 | ⭐ | CPU最適化 | ⭐ | エッジ・CPU特化 |
Ryzen AI Max+ 395(128GB)の場合
第1候補:Ollama
第2候補:LM Studio
NVIDIA DGX Spark の場合
第1候補:vLLM
第2候補:Ollama
Perplexityの検索・回答機能を完全に代替できるツールは、2025年現在、複数の選択肢がある。それぞれの機能と実装方法を詳しく比較しよう。
Perplexicaは、完全オープンソースのAI検索エンジンで、Perplexity AIの代替として設計されている。プライバシー重視で、データは自分のサーバーで完結する。
Perplexicaの主要機能
マルチモデルAI統合
専門特化型フォーカスモード(6種類)
SearXNG統合
会話型チャット
参照元リスト表示
技術スタック
フロントエンド: Next.js(React)
バックエンド: Node.js + Express
検索エンジン: SearXNG(メタサーチエンジン)
LLM統合: OpenAI API、Ollama、LM Studio、Groq等
ベクトルDB: オプションでChroma/Qdrant
デプロイ: Docker Compose
実装方法(詳細版)
# 1. リポジトリクローン
git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica
# 2. 環境変数ファイル作成
cp .env.example .env
# 3. .envの編集
nano .env
# 以下を設定:
# OLLAMA_API_BASE=http://host.docker.internal:11434
# OLLAMA_MODEL=llama3.1:70b
# SEARXNG_URL=http://searxng:8080
# GROQ_API_KEY=(Groq APIキーがあれば)
# 4. Docker起動
docker-compose up -d
# 5. ログ確認
docker-compose logs -f
# 6. ブラウザでアクセス
# http://localhost:3000
初回起動時の注意
実際の使用体験
Perplexicaの検索・回答フロー:
このフロー全体で、平均2~5秒のレスポンスタイムが期待できる(Llama 3.1 70B、Ryzen AI Max+ 395環境での実測値)。
Ollama Web Search機能は、2025年9月のアップデートで追加された、追加ソフトウェアなしで実現できるPerplexity的な検索機能だ。
セットアップの簡潔さ
# 1. Brave Search APIキーの取得(無料)
# https://api.search.brave.com/ でアカウント登録
# 2. 環境変数設定
export OLLAMA_API_KEY="your-brave-search-api-key"
# 3. Ollamaサービス再起動
sudo systemctl restart ollama
# 以上、3ステップで完了
Python SDKでの利用
import ollama
response = ollama.chat(
model='llama3.1:70b',
messages=[{
'role': 'user',
'content': '2025年のAIトレンドは?'
}],
options={
'web_search': True,
'search_provider': 'brave'
}
)
print(response['message']['content'])
特徴
制限事項
Ollama Web Searchは、シンプルさを重視する個人開発者向けに最適だ。Perplexicaより実装が簡単で、すぐに運用開始できる。
BrowserOSは、Chromiumベースのオープンソースブラウザで、AIエージェント機能を搭載している。完全ローカル実行が可能で、プライバシーが最優先される。
特徴
セットアップ
# リポジトリクローン
git clone https://github.com/Browser-OS/BrowserOS.git
cd BrowserOS
# 依存関係インストール
npm install
# Ollamaとの連携設定
# config.json でOllama APIエンドポイント指定
# 起動
npm start
用途
OpenWebUIは、Ollamaの高機能Webインターフェースで、RAG機能が標準搭載されている。
主要機能
セットアップ
docker run -d -p 3000:8080 --name open-webui ghcr.io/open-webui/open-webui:latest
特徴
| ツール | Web検索 | RAG | マルチモデル | UI品質 | 導入難易度 | プライバシー | コスト |
|---|---|---|---|---|---|---|---|
| Perplexica | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | 中 | 完全ローカル可 | 無料 |
| Ollama Web Search | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐ | 低 | API利用時は外部送信 | 無料(API別途) |
| BrowserOS | ⭐⭐ | ⭐ | ⭐⭐ | ⭐⭐ | 中 | 完全ローカル | 無料 |
| OpenWebUI | ⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | 低 | 完全ローカル可 | 無料 |
Ryzen AI Max+ 395(128GB)での推奨構成
# 段階的な導入計画
# Phase 1(即座):Ollama Web Search
# 理由:最速導入、API費用少ない
# 所要時間:30分
# Phase 2(1週間後):Perplexica追加
# 理由:本格的なUI・フォーカスモード必要
# 所要時間:1~2時間
# Phase 3(1ヶ月後):OpenWebUI + 社内RAG構築
# 理由:社内ナレッジベース活用
# 所要時間:3~5時間
この段階的な導入により、即座に使える環境から、本格的な企業向けシステムへと進化させることができる。
GitHub Copilotの代替として、ContinueというVSCode拡張機能が、2025年に最も実用的な選択肢として確立された。
新機能:Agentモード
2025年版のContinueには、Agentモードという革新的な機能が追加された。これにより、複雑なコード生成タスクを、LLMが自動的に複数ステップで実行できるようになった。
例えば、「このプロジェクトのテストカバレッジを80%に上げてくれ」という指示を与えると、Agentが自動的に:
という複数のステップを自動実行する。
設定例
{
"experimental": {
"modelRoles": {
"applyCodeBlock": "deepseek-coder:33b",
"inlineEdit": "deepseek-coder:33b"
}
},
"tools": {
"policy": "ask-first",
"allowed": [
"run-terminal-command",
"read-file",
"edit-file",
"list-files",
"search-files"
]
}
}
1. Continueのインストール(5分)
# VSCode起動
# 拡張機能パネル(Ctrl+Shift+X)を開く
# "Continue"で検索してインストール
2. Ollamaモデルのダウンロード(15分)
# コード補完用(軽量・高速)
ollama pull deepseek-coder:33b
# チャット用(高精度)
ollama pull llama3.1:70b
# 確認
ollama list
3. config.jsonの詳細設定(10分)
VSCodeのContinueパネルで右下の歯車アイコンをクリックし、config.jsonを以下のように設定する:
{
"models": [
{
"title": "DeepSeek Coder 33B",
"provider": "ollama",
"model": "deepseek-coder:33b",
"apiBase": "http://localhost:11434",
"contextLength": 4096,
"maxTokens": 2048
},
{
"title": "Llama 3.1 70B",
"provider": "ollama",
"model": "llama3.1:70b",
"apiBase": "http://localhost:11434",
"contextLength": 8192,
"maxTokens": 4096
}
],
"tabAutocompleteModel": {
"title": "DeepSeek Coder FIM",
"provider": "ollama",
"model": "deepseek-coder:33b",
"apiBase": "http://localhost:11434"
},
"customCommands": [
{
"name": "test",
"prompt": "選択したコードのユニットテストを書いてください。Jest/Pytestなど、言語に応じた標準フレームワークを使用してください。テストケースは以下を含めてください:\n1. 正常系\n2. エラーケース\n3. エッジケース"
},
{
"name": "explain",
"prompt": "このコードを日本語で詳しく解説してください。以下を含めてください:\n1. 処理フロー\n2. 変数の役割\n3. 外部依存関係\n4. パフォーマンス特性"
},
{
"name": "refactor",
"prompt": "このコードをリファクタリングしてください。以下の観点から改善案を提示してください:\n1. 可読性\n2. 保守性\n3. パフォーマンス\n4. ベストプラクティス準拠"
},
{
"name": "doc",
"prompt": "このコードのドキュメント(JSDoc/docstring)を書いてください。パラメータ、戻り値、例外、使用例を含めてください。"
}
],
"contextProviders": [
{
"name": "code",
"params": {}
},
{
"name": "docs",
"params": {}
},
{
"name": "diff",
"params": {}
},
{
"name": "terminal",
"params": {}
},
{
"name": "problems",
"params": {}
}
],
"experimental": {
"modelRoles": {
"applyCodeBlock": "deepseek-coder:33b",
"inlineEdit": "deepseek-coder:33b"
}
},
"tools": {
"policy": "ask-first",
"allowed": [
"run-terminal-command",
"read-file",
"edit-file",
"list-files",
"search-files"
]
}
}
Tab補完の実例
// ユーザー入力
function calculateFibonacci
// Tabキーを押すと自動補完
function calculateFibonacci(n: number): number {
if (n <= 1) return n;
return calculateFibonacci(n - 1) + calculateFibonacci(n - 2);
}
補完速度は、平均200~300msで実現される。GitHub Copilotとほぼ同等のレスポンスタイムだ。
チャット機能の実例
User: このコードの複雑度を下げるにはどうしたらいい?
AI: このコードは再帰呼び出しが多く、時間計算量がO(2^n)になっています。
以下の改善方法を提案します:
1. メモ化(Memoization)を使用
2. 動的計画法(Dynamic Programming)に変更
3. ボトムアップアプローチを採用
改善後のコード:
[最適化されたコード生成]
カスタムコマンドの実例
コード選択 → Cmd/Ctrl + Shift + P → “Continue: Custom Command” → /test を選択
// 元のコード
function add(a: number, b: number): number {
return a + b;
}
// /testコマンド実行後、自動生成されるテスト
describe('add function', () => {
test('should add two positive numbers', () => {
expect(add(2, 3)).toBe(5);
});
test('should handle negative numbers', () => {
expect(add(-2, 3)).toBe(1);
});
test('should handle zero', () => {
expect(add(0, 5)).toBe(5);
});
});
Ryzen AI Max+ 395環境での実測値:
| 操作 | 処理時間 | 精度 | 実用性 |
|---|---|---|---|
| Tab補完 | 200-300ms | 85-90% | ⭐⭐⭐ |
| チャット回答 | 2-5秒 | 90-95% | ⭐⭐⭐ |
| カスタムコマンド | 3-8秒 | 80-85% | ⭐⭐⭐ |
GitHub Copilot Proとの比較では、精度で90-95%、速度で85-90%の相関性がある。つまり、実用上ほぼ同等の体験が得られる。
Continue以外の選択肢として、Codeiumも検討する価値がある。Codeiumは完全無料で、クラウドベースのため追加ハードウェア投資不要だ。
# 1. VSCode拡張機能から"Codeium"をインストール
# 2. 初回起動時にGitHub/Google連携でアカウント登録
# 3. 即座に利用可能(追加設定不要)
セットアップ時間:3分
長所
短所
| 項目 | Continue | Codeium |
|---|---|---|
| コスト | 無料(電気代のみ) | 無料 |
| プライバシー | 完全ローカル | コード送信あり |
| 精度 | 85-90%(モデル次第) | 95%+ |
| 速度 | ハード次第(200-300ms) | 高速(100-200ms) |
| 初期設定 | 30分 | 3分 |
| カスタマイズ性 | 高い(モデル/プロンプト自由) | 低い |
| オフライン動作 | 可能 | 不可 |
| 推奨ユーザー | プライバシー重視・カスタマイズ必須 | 手軽さ重視・即座に利用開始 |
あなたのケースへの推奨
あなたの環境(自宅サーバー構築中、プライバシー重視、カスタマイズしたい)を考慮すると、Continueを推奨する。
理由:
ここまでで、ハードウェア・ソフトウェアの詳細が明らかになった。最後に、あなたの具体的な状況に基づいた最適な選択肢を提示しよう。
現在の月額支出
3年間の総支出
この金額が、クラウドのみを利用し続けた場合の3年間の総コストだ。
あなたの状況(システムエンジニア4年、AWS/Docker経験、自宅サーバー導入検討中)を踏まえると、以下の構成を強く推奨する:
Phase 1(即座0ヶ月):クラウド継続
Phase 2(1ヶ月後):Ryzen AI Max+ 395購入・セットアップ
Phase 3(2ヶ月後):クラウド利用量削減開始
3年間の総コスト予測
Phase 1(1ヶ月):9,150円 × 1 = 9,150円
Phase 2(1ヶ月):9,150円 × 1 = 9,150円
Phase 3(34ヶ月):5,000円 × 34 = 170,000円
初期投資:30万円
3年合計:30万円 + 9,150円 + 9,150円 + 170,000円 = **518,300円**
vs クラウドオンリー
一見、ハイブリッド構成の方が高く見えるかもしれない。しかし、ここで重要な観点が2つある。
ハイブリッド構成の真価は、4年目以降に発揮される。
4年目以降の月額:5,000円(クラウド最小利用 + 電気代)
vs クラウドオンリー:9,150円
月額差:4,150円 × 12ヶ月 = 年49,800円の節約
5年目累計:49,800円 × 2年 = 99,600円の節約
6年目累計:49,800円 × 3年 = 149,400円の節約
つまり、6年目には初期投資の追加コスト188,900円が完全に回収され、その後は永続的に毎月4,000円以上の節約が得られる。
金銭的なコスト以上に重要なのは、技術スキルと知的資産の獲得だ。
Ryzen AI Max+ 395導入で得られるもの
ローカルLLM運用スキル
プライバシー・セキュリティの実装知識
カスタムAIシステム構築能力
オープンソースコミュニティへの貢献機会
これらの無形資産は、金銭的価値に換算できないが、キャリア形成に大きな影響を与える可能性がある。
あなたへの最終推奨
即座(0ヶ月):クラウド継続
↓
1ヶ月後:Ryzen AI Max+ 395購入
↓
2ヶ月後:ローカルLLM基盤完成
↓
3~6ヶ月後:段階的にクラウド利用削減
↓
6ヶ月後:完全ハイブリッド運用体制確立
このアプローチの利点:
Day 1-2:情報収集と環境確認
Day 3-5:購入と物理セットアップ
Day 6-7:OS・基本環境構築
Day 1-2:Ollamaセットアップ
Day 3-4:Perplexity代替環境
Day 5-7:GitHub Copilot代替環境
段階的なクラウド利用削減
本記事で提示したローカルLLM環境の構築は、単なるコスト削減ではなく、以下を実現するものだ:
2025年は、個人開発者がローカルLLM環境を実用的に運用できる最初の年だ。Ollamaのアップデート、モデルの多様化、フレームワークの成熟により、クラウドと同等の体験がローカルで実現できるようになった。
あなたが「AI編集長」というプロダクト開発を進める中で、毎日のようにPerplexityとCopilotに頼っているのであれば、この投資は確実にリターンがある。
最後に、本記事で提示した技術スタックは、2025年12月時点での最新情報に基づいている。技術は急速に進化しているため、6ヶ月ごとに最新情報を確認し、必要に応じてアップデートすることを推奨する。
あなたのローカルLLM環境構築が、単なるコスト削減ではなく、次のステップのキャリア形成につながることを心から願っている。
記事数の多いカテゴリから探す