重要なポイント
- Xinferenceは30以上のモデルファミリーを1つのAPIで提供 — Llama 3、Qwen 2.5、ChatGLM4、Mistral、Embeddingモデル、Rerankerがすべてlocalhost:9997/v1の同一エンドポイントを共有。
- pip install 1つ、CLIコマンド1つ — `pip install "xinference[all]"`後に`xinference-local`でWeb UI付きサーバーが起動。`xinference launch --model-name <名前>`で任意のモデルをデプロイ。
- 3つのバックエンドを選択可能 — `transformers`(GPU・フル精度)、`llama.cpp`(CPU+量子化GGUF・GPU不要)、`vllm`(高スループット・マルチGPU)。モデルごとに切替可能。
- CJKタスクにはQwen 2.5とChatGLM4が最適 — どちらも約6〜7 GB VRAMで動作し、中国語・日本語ベンチマークで英語専用モデルを上回る。
- マルチモデルサービング・Embedding+Reranking・GPUクラスターが必要なときはOllamaよりXinferenceを選ぶ — Ollamaは単一ユーザーのデスクトップ用途に優れる。
Xinferenceとは何か・どのように動作するか
Xinference(github.com/xorbitsai/inference)はXorbitsが開発したオープンソースのLLM・マルチモーダルモデルサービングフレームワークです。2023年にオープンソース化され、分散クラスター向けのエンタープライズ推論プラットフォームとして設計されました。基本的な考え方:モデルを名前で登録すると、Xinferenceが重みをダウンロードし、適切なバックエンドを選択してREST APIを公開します。モデルロードのコードを直接触る必要はありません。
📍 一文で説明
XinferenceはLlama 3、Qwen 2.5、ChatGLM4、Mistralなど30以上のモデルファミリーを単一のOpenAI互換APIでネイティブサポートするオープンソース推論サーバーです。
💬 簡潔に説明
XinferenceはローカルAIモデルの交換台のようなものです。モデル名を指定すると自動でダウンロード・起動し、アプリはOpenAI APIと同じ方法で通信できます — コード変更は不要です。
- モデルレジストリ:200以上の事前登録モデル。`llama-3.1-instruct`・`qwen2.5-instruct`・`chatglm4`など名前で参照でき、重みパスの手動管理が不要。
- バックエンド抽象化:1コマンドでtransformers・llama.cpp・vLLMバックエンドを切替 — バックエンドに関わらず同じAPI。
- マルチモデル同時実行:テキスト生成のLlama 3とRAG用のBGE Embeddingモデルを同一GPU上で同時実行可能。
- Web UI:localhost:9997のReactダッシュボードでコードなしにモデルを起動・確認・停止。
- クラスターモード:スーパーバイザー+ワーカー構成で`xinference start --host 0.0.0.0`により複数GPUノードにスケール。
サポートモデルファミリー:Llama 3・Qwen・ChatGLM・Mistral
以下の表はXinferenceで最も利用されている7つのモデル設定と最小VRAM要件を示しています。すべて同じlaunchコマンドパターンを使用し、変わるのは`--model-name`・`--model-size-in-billions`・オプションの`--quantization`のみです。
📍 一文で説明
XinferenceはLlama 3.1(8B/70B)・Qwen 2.5(7B/72B)・ChatGLM4 9B・Mistral 7B v0.3・Mixtral 8x7Bをネイティブサポートし、いずれもCLIコマンド1つで起動できます。
💬 簡潔に説明
VRAMはGPUのメモリです。6 GB VRAMが必要なモデルにはRTX 3060(12 GB)やRTX 4060(8 GB)のようなGPUが必要です。GPUが小さい場合は、llama.cppバックエンドとQ4量子化を使用するとメモリ使用量を約半分に削減できます。
| モデル | ファミリー | VRAM (Q4) | バックエンド | 最適な用途 |
|---|---|---|---|---|
| llama-3.1-instruct 8B | Meta | ~6 GB | transformers / llama.cpp | 英語汎用タスク |
| llama-3.1-instruct 70B | Meta | ~40 GB | vLLM | 高品質英語出力 |
| qwen2.5-instruct 7B | Alibaba | ~6 GB | transformers / llama.cpp | 多言語・CJK・コーディング |
| qwen2.5-instruct 72B | Alibaba | ~40 GB | vLLM | 大規模CJKタスク |
| chatglm4 9B | Zhipu AI | ~7 GB | transformers | 中国語エンタープライズタスク |
| mistral-instruct-v0.3 7B | Mistral AI | ~5 GB | transformers / llama.cpp | ヨーロッパ言語・ファンクションコール |
| mixtral-instruct-v0.1 8x7B | Mistral AI | ~26 GB | vLLM | 高品質多言語出力 |
XinferenceはLlama 3.1をサポートしていますか?
はい。`--model-name llama-3.1-instruct`と`--model-size-in-billions 8`(8B)または`70`(70B)を指定します。CPU・低VRAM環境では`--model-engine llama.cpp`と`--quantization q4_k_m`に切り替えてください。
XinferenceはQwen 2.5をサポートしていますか?
はい。Qwen 2.5 Instructは`qwen2.5-instruct`として登録されており、0.5B〜72Bのサイズが利用可能です。7Bは約6 GB VRAMで動作し、中国語・日本語・韓国語・英語をLlama 3.1 8Bと同等の品質で処理します。
XinferenceはChatGLMをサポートしていますか?
はい。ChatGLM3(`chatglm3`)・ChatGLM4(`chatglm4`)・ChatGLM4-Vision(`chatglm4v`)がすべて登録されています。ChatGLM4 9Bは2026年の中国語タスクに推奨される選択肢です。
XinferenceはMistralをサポートしていますか?
はい。`mistral-instruct-v0.3`(7B)と`mixtral-instruct-v0.1`(8x7B MoE)が両方登録されています。ファンクションコールとJSON出力にはMistral 7B v0.3が最適です。
Xinferenceのインストール:pipとサーバー起動
XinferenceにはPython 3.9以上とpipが必要です。`[all]`オプションでCUDAサポート・llama.cppバックエンド・transformersバックエンドをまとめてインストールできます。CPU専用マシンでは`pip install xinference`(`[all]`なし)を使い、モデル起動時に`--model-engine llama.cpp`を指定します。
📍 一文で説明
`pip install "xinference[all]"`でインストールし、`xinference-local`でサーバーを起動すると、http://localhost:9997 にWeb UIが表示されます。
# フルインストール — CUDA + transformers + llama.cpp バックエンド
pip install "xinference[all]"
# CPUのみのインストール(GPU不要)
pip install xinference
# ローカルサーバー起動(Web UI: http://localhost:9997)
xinference-local
# LAN向けに特定ホストにバインドする場合
xinference-local --host 0.0.0.0 --port 9997XinferenceにGPUは必要ですか?
いいえ。llama.cppバックエンド(`--model-engine llama.cpp`)を使用すれば、量子化GGUFモデルをCPUのみで実行できます。GPU推論より遅いですが、Python 3.9以上が動作する任意のマシンで利用可能です。
Xinferenceを更新するにはどうすればいいですか?
`pip install --upgrade xinference`を実行します。アップグレード前にGitHubのリリースノートで破壊的変更を確認してください。特にクラスターモードを使用している場合は注意が必要です。
Llama 3・Qwen・ChatGLM・Mistralの起動
`xinference launch`コマンドで任意の登録モデルをデプロイします。パターンは常に同じで、`--model-name`でモデルファミリー、`--model-size-in-billions`でパラメータ数、`--model-engine`でバックエンドを指定します。起動後、XinferenceはAPIコールで使用するモデルUIDを返します。
📍 一文で説明
`xinference launch --model-name <名前> --model-engine transformers --model-size-in-billions <サイズ>`でXinferenceの任意のモデルを起動し、ダウンロード完了後すぐにlocalhost:9997/v1で利用できます。
# Llama 3.1 8B Instruct (GPU, transformers backend)
xinference launch \
--model-name llama-3.1-instruct \
--model-engine transformers \
--model-size-in-billions 8
# Llama 3.1 8B Instruct (CPU, Q4_K_M quantization)
xinference launch \
--model-name llama-3.1-instruct \
--model-engine llama.cpp \
--model-size-in-billions 8 \
--quantization q4_k_m
# Qwen 2.5 7B Instruct (GPU)
xinference launch \
--model-name qwen2.5-instruct \
--model-engine transformers \
--model-size-in-billions 7
# ChatGLM4 9B (GPU)
xinference launch \
--model-name chatglm4 \
--model-engine transformers \
--model-size-in-billions 9
# Mistral 7B Instruct v0.3 (GPU)
xinference launch \
--model-name mistral-instruct-v0.3 \
--model-engine transformers \
--model-size-in-billions 7
# Mixtral 8x7B Instruct (vLLM backend, 26+ GB VRAM必要)
xinference launch \
--model-name mixtral-instruct-v0.1 \
--model-engine vllm \
--model-size-in-billions 46Xinferenceがサポートするすべてのモデルを一覧表示するにはどうすればいいですか?
`xinference registrations --model-type LLM`を実行するか、http://localhost:9997 のWeb UIでモデルライブラリを閲覧してください。
Xinferenceで2つのモデルを同時に実行できますか?
はい — 異なるモデル名で`xinference launch`を2回実行します。各モデルは独自のUIDとエンドポイントを持ちます。合計VRAMバジェットが両モデルを同時にカバーする必要があります。
OpenAI互換APIの使用方法
XinferenceのAPIはOpenAI APIのdrop-in代替品です。任意のOpenAIクライアントを`http://localhost:9997/v1`に向け、`api_key`に任意の非空文字列を設定し、`xinference launch`が返すモデルUIDを`model`パラメータに使用します。既存のLangChain・LlamaIndex・カスタムOpenAIクライアントのコードはそのまま動作します。
📍 一文で説明
base_urlをhttp://localhost:9997/v1に設定し、モデル名をモデルIDとして使用することで、任意のOpenAI互換クライアントをXinferenceに接続できます。
💬 簡潔に説明
OpenAI互換APIとは、コードを変更する必要がないことを意味します。GPT-4を呼び出すPythonコードはXinference経由でLlama 3を呼び出せます — ベースURLとモデル名を変えるだけです。
from openai import OpenAI
client = OpenAI(
api_key="not-required", # Xinference accepts any non-empty string
base_url="http://localhost:9997/v1"
)
# Chat completion — works for Llama 3, Qwen, ChatGLM, Mistral
response = client.chat.completions.create(
model="llama-3.1-instruct",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Summarise the GDPR in 3 bullet points."}
]
)
print(response.choices[0].message.content)
# Embedding model (run a separate xinference launch for bge-base-en-v1.5 first)
embedding = client.embeddings.create(
model="bge-base-en-v1.5",
input="Local LLMs preserve data privacy."
)
print(embedding.data[0].embedding[:5])Xinferenceはストリーミングレスポンスをサポートしていますか?
はい。`chat.completions.create`呼び出しで`stream=True`を設定します。Xinferenceはすべてのサポートバックエンドでリアルタイムにトークンをストリーミングします。
LangChainをXinferenceと一緒に使えますか?
はい。`langchain_openai`から`ChatOpenAI(base_url="http://localhost:9997/v1", api_key="x", model="llama-3.1-instruct")`を使用します。Xinference固有のライブラリは不要です。
Xinference vs Ollama vs vLLM:いつどれを選ぶか
最も一般的な3つのローカル推論フレームワークはそれぞれ異なるユーザーを対象としています。主な制約に基づいて選択してください。日本のエンタープライズ環境では、METIのAIガバナンスガイドライン(2024年版)はローカル推論をデータ主権・プライバシーリスク軽減策として推奨しています。
📍 一文で説明
複数のモデルタイプを同時に提供する必要がある場合(LLM+Embeddings+Reranker)またはChatGLMのネイティブサポートが必要な場合はXinferenceを、シンプルなデスクトップ使用にはOllamaを選択してください。
| 比較項目 | Xinference | Ollama | vLLM |
|---|---|---|---|
| 最適な用途 | チーム・マルチモデル・Embeddings+LLM | 単一ユーザーデスクトップ・Modelfileワークフロー | 高スループットGPUサービング |
| GPU必要? | 不要(llama.cppバックエンド) | 不要(CPUモード対応) | 必要(CUDA/ROCm) |
| モデル切替 | 複数モデルを同時実行 | 1モデルずつ(スワップ) | サーバーインスタンスごとに1モデル |
| Embeddingサポート | あり(BGE・E5など) | あり(限定的) | なし(別途Embeddingサーバー) |
| Web UI | localhost:9997に内蔵 | なし(Open WebUI推奨) | なし |
| ChatGLMサポート | ネイティブ(chatglm4) | 限定的 | 限定的 |
XinferenceはOllamaより設定が難しいですか?
わずかに難しいです。OllamaはバイナリをダウンロードするだけですがXinferenceはPythonとpipが必要です。ただし両方とも5分以内に起動できます。Xinferenceは起動後のマルチモデル環境がより充実しています。
XinferenceはvLLMを代替できますか?
シングルマシンのサービングには可能です — Xinferenceは`--model-engine vllm`でvLLMをバックエンドとして使用でき、Web UIとモデルレジストリが追加されます。複数GPUノードにまたがる最大スループットには専用vLLMデプロイの方が高速です。
よくある質問
Xinferenceとは何ですか?
Xinference(Xorbits Inference)はLlama 3、Qwen、ChatGLM、Mistralなど30以上のファミリーをOpenAI互換APIでローカルに実行するオープンソースフレームワークです。GPU・CPU(llama.cpp経由)・マルチGPUクラスターデプロイをサポートします。
2026年にXinferenceがサポートするモデルは何ですか?
200以上のモデル設定が登録されています。2026年で最も人気なのはLlama 3.1 8B/70B Instruct、Qwen 2.5 7B/72B Instruct、ChatGLM4 9B、Mistral 7B Instruct v0.3、Mixtral 8x7B Instructです。`xinference registrations --model-type LLM`で完全なリストを確認できます。
Xinferenceはモデルの重みをどのようにダウンロードしますか?
各モデルへの最初の`xinference launch`時に、XinferenceはHugging FaceまたはModelScope(設定可能)から重みをダウンロードします。重みはローカルにキャッシュされるため、2回目以降の起動は即時です。`XINFERENCE_HOME`でキャッシュディレクトリを制御できます。
XinferenceはWindowsで動作しますか?
はい、Python 3.9以上のpipで動作します。llama.cppバックエンドは追加の依存関係なしにWindows CPUで動作します。WindowsでGPUサポートが必要な場合は、Xinferenceのインストール前にCUDA 12.xと対応するPyTorchホイールをインストールしてください。
XinferenceをRAGに使用できますか?
はい。BGEまたはE5のEmbeddingモデル(`xinference launch --model-name bge-base-en-v1.5 --model-type embedding`)をLLMと並行して起動します。両方が同じAPIエンドポイントを共有するため、RAGパイプラインはインデックス作成にEmbeddingエンドポイント、生成にチャットエンドポイントを呼び出せます。