All checks were successful
Deploy Docusaurus Site / deploy (push) Successful in 26s
244 lines
7.3 KiB
Markdown
244 lines
7.3 KiB
Markdown
---
|
||
sidebar_position: 6
|
||
title: DGX SparkにAnythingLLMを導入してローカルLLMエージェントを構築
|
||
description: Docker + Ollama + AnythingLLMで完全ローカルなLLMエージェント環境を構築する方法
|
||
hide_table_of_contents: false
|
||
displayed_sidebar: null
|
||
---
|
||
|
||
# DGX Spark に AnythingLLM を導入してローカルLLMエージェントを構築する
|
||
|
||
## はじめに
|
||
|
||
ローカルLLM(Ollama)を使って動作するエージェントの最適解として **AnythingLLM** を選定。
|
||
Web UIからアクセスでき、ローカルファイルへのアクセスやMCP連携が可能なオールインワンソリューション。
|
||
|
||
### なぜAnythingLLMか?
|
||
|
||
| 機能 | AnythingLLM | Open WebUI | LobeChat |
|
||
|------|-------------|------------|----------|
|
||
| Web UI | ✅ | ✅ | ✅ |
|
||
| ローカルファイル | ✅ RAG + MCP | △ MCPのみ | △ 制限あり |
|
||
| MCP対応 | ✅ | ✅ | △ 問題あり |
|
||
| エージェント機能 | ✅ No-code builder | △ | △ |
|
||
| セットアップ難易度 | 低 | 中 | 中 |
|
||
|
||
## 前提条件
|
||
|
||
- Docker インストール済み
|
||
- Ollama インストール・起動済み
|
||
- 適当なLLMモデルがpull済み(例: `qwen3-coder-next`, `qwen2.5:14b-instruct`)
|
||
|
||
## ワンライナーでセットアップ
|
||
|
||
```bash
|
||
curl -sL https://docs.techswan.online/scripts/anythingllm-setup.sh | bash
|
||
```
|
||
|
||
これだけで AnythingLLM が起動します。
|
||
|
||
## 手動での導入手順
|
||
|
||
### 1. Dockerイメージの取得
|
||
|
||
```bash
|
||
docker pull mintplexlabs/anythingllm:latest
|
||
```
|
||
|
||
### 2. コンテナの起動
|
||
|
||
```bash
|
||
docker run -d \
|
||
--name anythingllm \
|
||
-p 3001:3001 \
|
||
--cap-add SYS_ADMIN \
|
||
--add-host=host.docker.internal:host-gateway \
|
||
-v anythingllm_storage:/app/server/storage \
|
||
-e STORAGE_DIR=/app/server/storage \
|
||
mintplexlabs/anythingllm:latest
|
||
```
|
||
|
||
**ポイント:**
|
||
- `--add-host=host.docker.internal:host-gateway` でホストのOllamaにアクセス可能に
|
||
- `-p 3001:3001` でWebUIをポート3001で公開
|
||
- `--cap-add SYS_ADMIN` はブラウザ機能等に必要
|
||
|
||
### 3. 起動確認
|
||
|
||
```bash
|
||
docker logs anythingllm
|
||
```
|
||
|
||
`Primary server in HTTP mode listening on port 3001` が表示されればOK。
|
||
|
||
## 初期セットアップ
|
||
|
||
ブラウザで `http://<DGX_SPARK_IP>:3001` にアクセス。
|
||
|
||
### Step 1: Welcome画面
|
||
|
||

|
||
|
||
「Get Started」をクリック。
|
||
|
||
### Step 2: LLM Provider選択
|
||
|
||

|
||
|
||
多数のLLMプロバイダーから選択可能。検索ボックスで「ollama」を検索。
|
||
|
||
### Step 3: Ollama選択・自動検出
|
||
|
||

|
||
|
||
**Ollamaが自動検出される!**
|
||
- 「Provider endpoint discovered automatically」と表示
|
||
- 利用可能なモデルがドロップダウンに表示される
|
||
- 今回は `qwen3-coder-next:latest` を選択
|
||
|
||
### Step 4: User Setup
|
||
|
||

|
||
|
||
- 「Just me」を選択(個人利用の場合)
|
||
- パスワード設定は任意(LAN内利用なら「No」でOK)
|
||
|
||
### Step 5: Data Handling確認
|
||
|
||

|
||
|
||
設定内容の確認画面:
|
||
- **LLM Provider:** Ollama(ローカル完結)
|
||
- **Embedding:** AnythingLLM Embedder(ローカル完結)
|
||
- **Vector Database:** LanceDB(ローカル完結)
|
||
|
||
すべてローカルで完結するプライベートな構成。
|
||
|
||
### Step 6: セットアップ完了
|
||
|
||

|
||
|
||
メイン画面が表示されたらセットアップ完了!
|
||
|
||
- 左サイドバー: ワークスペース・スレッド管理
|
||
- 中央: チャットエリア
|
||
- 下部ボタン: 「Create an Agent」「Edit Workspace」「Upload a Document」
|
||
|
||
## 動作確認
|
||
|
||
日本語で質問してみる:
|
||
|
||

|
||
|
||
Ollama (qwen3-coder-next) が日本語で応答:
|
||
> 「こんにちは!はい、日本語で応答できますよ。何かお手伝いできることがあれば、遠慮なくお知らせください!😊」
|
||
|
||
## ローカル実行について
|
||
|
||
AnythingLLMの大きな特徴は、**デフォルト設定で完全ローカル実行が可能**なこと。
|
||
|
||
### 各機能のローカル対応状況
|
||
|
||
| 機能 | デフォルト | ローカル実行 | 備考 |
|
||
|------|-----------|-------------|------|
|
||
| **LLM** | 選択式 | ✅ Ollama等 | 今回はOllamaを使用 |
|
||
| **Embedding** | AnythingLLM Native | ✅ | 内蔵embedder |
|
||
| **Vector DB** | LanceDB | ✅ | SQLiteベース |
|
||
| **TTS** | Native Browser | △ | ブラウザ依存 |
|
||
| **STT** | Native Browser | △ | ブラウザ依存 |
|
||
|
||
### Embedding選択肢
|
||
|
||
| プロバイダー | ローカル | 備考 |
|
||
|-------------|---------|------|
|
||
| **AnythingLLM Native Embedder** | ✅ | デフォルト、おすすめ |
|
||
| Ollama | ✅ | nomic-embed-text等 |
|
||
| LocalAI | ✅ | |
|
||
| LM Studio | ✅ | |
|
||
| OpenAI / Azure / Cohere | ❌ | クラウドAPI |
|
||
|
||
### TTS / STT の注意点
|
||
|
||
デフォルトの「Native Browser Built-in」は**ブラウザのWeb Speech API**を使用する。
|
||
|
||
| ブラウザ | STT (音声認識) | TTS (音声合成) |
|
||
|---------|---------------|---------------|
|
||
| Chrome | ⚠️ Googleサーバー送信の可能性 | ✅ ローカル |
|
||
| Firefox | ✅ ローカル(対応限定) | ✅ ローカル |
|
||
| Edge | ⚠️ Azureサーバー送信の可能性 | ✅ ローカル |
|
||
|
||
**完全ローカルにしたい場合の選択肢:**
|
||
|
||
| 機能 | 完全ローカルオプション | 実行場所 |
|
||
|------|----------------------|---------|
|
||
| STT | Whisper (Xenova) | サーバーサイド |
|
||
| TTS | PiperTTSLocal | ブラウザ内WASM |
|
||
| TTS | OpenAI互換ローカルTTS | サーバーサイド |
|
||
|
||
:::tip プライバシー重視なら
|
||
STTをWhisper (Xenova)に、TTSをPiperTTSLocalに変更することで、音声データが外部に送信されることを防げる。
|
||
:::
|
||
|
||
## 次のステップ
|
||
|
||
### MCP Filesystem設定(ローカルファイルアクセス)
|
||
|
||
1. 設定ファイルを作成: `/app/server/storage/plugins/anythingllm_mcp_servers.json`
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"filesystem": {
|
||
"command": "npx",
|
||
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
2. Agent Skills からMCPサーバーを有効化
|
||
|
||
### エージェント機能
|
||
|
||
- 「Create an Agent」からNo-codeでエージェント構築可能
|
||
- 各種スキル(Web検索、計算、コード実行等)を組み合わせ
|
||
|
||
### ドキュメントRAG
|
||
|
||
- 「Upload a Document」でPDF、txt、md等をアップロード
|
||
- 自動的にベクトル化されて検索可能に
|
||
|
||
## トラブルシューティング
|
||
|
||
### Ollamaに接続できない
|
||
|
||
1. Ollamaが起動しているか確認: `ollama list`
|
||
2. Ollamaがネットワークからアクセス可能か確認:
|
||
```bash
|
||
curl http://localhost:11434/api/tags
|
||
```
|
||
3. `OLLAMA_HOST=0.0.0.0` でOllamaを起動しているか確認
|
||
|
||
### コンテナが起動しない
|
||
|
||
```bash
|
||
docker logs anythingllm
|
||
```
|
||
でエラーログを確認。
|
||
|
||
## まとめ
|
||
|
||
- AnythingLLMはDocker一発で導入可能
|
||
- Ollamaと組み合わせて完全ローカルなLLMエージェント環境を構築
|
||
- Web UIでアクセスしやすく、RAG・MCP・エージェント機能もサポート
|
||
|
||
## 参考リンク
|
||
|
||
- [AnythingLLM GitHub](https://github.com/Mintplex-Labs/anything-llm)
|
||
- [AnythingLLM Docs](https://docs.anythingllm.com/)
|
||
- [MCP Compatibility](https://docs.anythingllm.com/mcp-compatibility/overview)
|
||
|
||
---
|
||
|
||
*この記事は2026年2月時点の情報です。*
|