# ローカルモデル

> 独自のハードウェアで提供されるモデル上でPentAGIを実行し、プロンプト、ツール出力、およびfindingを自社サーバー上に留めます。

PentAGI は、ご自身でホストするモデルのみを使用して完全に実行できます。[agent](https://pentagi.com/ja/docs/glossary/#agent) のプロンプト、agent が読み取る [tool](https://pentagi.com/ja/docs/glossary/#tool) の出力、そして agent が報告する [finding](https://pentagi.com/ja/docs/glossary/#finding) はすべてお客様のサーバー上に留まり、長い [flow](https://pentagi.com/ja/docs/glossary/#flow) ではトークンではなく GPU 時間が消費されます。サポートされているモデルサーバーには 2 種類あります。セットアップが最も迅速な Ollama と、より高いスループットを実現するための vLLM または OpenAI 互換 API を備えたその他のサーバーです。

## [Ollama](https://pentagi.com/ja/docs/deployment/local-models/#ollama)

`.env` で PentAGI を Ollama サーバーに向けます。

```bash
OLLAMA_SERVER_URL=http://ollama-server:11434
OLLAMA_SERVER_CONFIG_PATH=/opt/pentagi/conf/ollama-qwen332b-fp16-tc.provider.yml
OLLAMA_SERVER_PULL_MODELS_ENABLED=false   # true downloads missing models at startup
OLLAMA_SERVER_LOAD_MODELS_ENABLED=false   # true lists the models the server already has
```

設定ファイルは各 [agent type](https://pentagi.com/ja/docs/glossary/#agent-type) にモデルとそのパラメーターを割り当てます。設定ファイルがない場合、`OLLAMA_SERVER_MODEL` がデフォルトモデルを設定します。イメージには `/opt/pentagi/conf/` に準備済みの設定が含まれており、その中に `ollama-qwen332b-fp16-tc.provider.yml` と `ollama-qwq32b-fp16-tc.provider.yml` があります。

Ollama のデフォルトのコンテキストウィンドウは、flow が必要とするサイズよりもはるかに小さいものです。agent は通常約 64K トークンを使用し、PentAGI は 110K 用に設定されています。Ollama はモデルを作成する際にのみコンテキストサイズを設定するため、Modelfile から変種をビルドしてください。

```dockerfile
FROM qwen3:32b-fp16
PARAMETER num_ctx 110000
PARAMETER temperature 0.3
PARAMETER top_p 0.8
PARAMETER min_p 0.0
PARAMETER top_k 20
PARAMETER repeat_penalty 1.1
```

```bash
ollama create qwen3:32b-fp16-tc -f Modelfile
```

## [vLLM およびその他の OpenAI 互換サーバー](https://pentagi.com/ja/docs/deployment/local-models/#vllm-and-other-openai-compatible-servers)

vLLM、LocalAI、および OpenAI 互換 API を備えたその他のサーバーは、[カスタム provider](https://pentagi.com/ja/docs/configuration/llm-providers/#custom-and-openai-compatible-endpoints) として接続します。

```bash
LLM_SERVER_URL=http://vllm-server:8000/v1
LLM_SERVER_KEY=local                      # any non-empty value when the server has no key
LLM_SERVER_MODEL=Qwen/Qwen3.6-27B-FP8
LLM_SERVER_CONFIG_PATH=/opt/pentagi/conf/vllm-qwen3.6-27b-fp8.provider.yml
```

このイメージには、vLLM 上のいくつかの Qwen ビルド用の設定が含まれています。`-no-think` 変種は推論機能をオフにします。agent は [tool call](https://pentagi.com/ja/docs/glossary/#tool-call) を介して動作するため、モデル推奨の tool-call パーサーと chat [template](https://pentagi.com/ja/docs/glossary/#template) を使用してサーバーを起動してください。誤ったパーサーを使用すると、tool call の引数が壊れて返され、flow が数ステップ後に停止します。

## [モデルの選択](https://pentagi.com/ja/docs/deployment/local-models/#choosing-a-model)

* 設定ファイル内で、`primary_agent`、`pentester`、`adviser` には最も強力なモデルを割り当ててください。`searcher`、`enricher`、および要約には軽量なモデルを使用できます。
* 32B パラメータ未満のモデルの場合、[実行監視と task 計画](https://pentagi.com/ja/docs/concepts/agents/#safeguards) を有効にしてください。これにより、トークン数と時間が 2〜3 倍になる代わりに、結果の品質がおよそ 2 倍になります。
* メモリを見積もってください。例えば FP16 の QwQ 32B は、約 71 GB の GPU メモリを必要とします。

## [スタックの残りをローカルに維持する](https://pentagi.com/ja/docs/deployment/local-models/#keep-the-rest-of-the-stack-local)

| 部分                                                 | 設定                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Embeddings                                         | `EMBEDDING_PROVIDER=ollama` で `EMBEDDING_MODEL` の embedding model を使用する場合、同じ Ollama サーバーを使用します。ローカルの OpenAI 互換サーバーは、`EMBEDDING_PROVIDER=openai`、`EMBEDDING_URL` のアドレス、および空でない任意の `EMBEDDING_KEY` で動作します                                                                                                                                                                                                                                                                             |
| Web search                                         | Search は agent のクエリをインターネットに送信します。DuckDuckGo はデフォルトで有効です。`DUCKDUCKGO_ENABLED=false` でこれを無効にし、独自の SearXNG など、承認した [engines](https://pentagi.com/ja/docs/configuration/search-engines/) だけを保持してください                                                                                                                                                                                                                                                                                                         |
| [Knowledge graph](https://pentagi.com/ja/docs/glossary/#knowledge-graph) | デフォルトでは無効です。有効にすると Graphiti は OpenAI を呼び出しますが、`GRAPHITI_LLM_CLIENT_TYPE=custom` の場合は `LLM_SERVER_URL` のサーバーを使い、埋め込みもそのサーバーに要求します。使用するモデルは `EMBEDDING_MODEL` で指定され、これが空の場合は `text-embedding-3-small` になります。そのサーバーがそのモデルを提供していない場合は、`GRAPHITI_SEPARATE_EMBEDDING=true` を設定してください。設定すると、Graphiti は PentAGI と同じ `EMBEDDING_URL`、`EMBEDDING_KEY`、`EMBEDDING_MODEL` を使うため、これらには OpenAI 互換のサーバーを指定する必要があります — [Knowledge graph](https://pentagi.com/ja/docs/concepts/memory/#knowledge-graph-optional) を参照してください |
| Observability                                      | 同梱の Langfuse および Grafana スタックはお客様のホスト上で実行されます — [Observability](https://pentagi.com/ja/docs/configuration/observability/) を参照してください                                                                                                                                                                                                                                                                                                                                                                       |
| Update check                                       | `UPDATE_CHECK_INTERVAL=0` でこれを無効にします。[Security](https://pentagi.com/ja/docs/configuration/security/#update-check) に送信内容の一覧があります                                                                                                                                                                                                                                                                                                                                                                           |
| Images                                             | Docker は独自の設定で Docker Hub から [sandbox](https://pentagi.com/ja/docs/glossary/#sandbox) イメージをプルします。閉じたネットワーク環境では、Docker デーモンをレジストリミラーに向けてください                                                                                                                                                                                                                                                                                                                                                               |