OpenLLMを使用すると、開発者は任意のオープンソースLLM(Llama 3.3、Qwen2.5、Phi3などその他)またはカスタムモデルをOpenAI互換APIとして単一のコマンドで実行できます。組み込みチャットUI、最先端の推論バックエンド、およびDocker、Kubernetes、BentoCloudを使用したエンタープライズグレードのクラウドデプロイメント用の簡素化されたワークフローが備わっています。
次のコマンドを実行してOpenLLMをインストールし、対話的に探索してください。
pip install openllm # or pip3 install openllm
openllm helloOpenLLMは、幅広い最先端のオープンソースLLMをサポートしています。また、OpenLLMでカスタムモデルを実行するモデルリポジトリを追加することもできます。
| モデル | パラメータ | 必要なGPU | サーバーを起動 |
|---|---|---|---|
| deepseek | r1-671b | 80Gx16 | openllm serve deepseek:r1-671b |
| gemma2 | 2b | 12G | openllm serve gemma2:2b |
| gemma3 | 3b | 12G | openllm serve gemma3:3b |
| jamba1.5 | mini-ff0a | 80Gx2 | openllm serve jamba1.5:mini-ff0a |
| llama3.1 | 8b | 24G | openllm serve llama3.1:8b |
| llama3.2 | 1b | 24G | openllm serve llama3.2:1b |
| llama3.3 | 70b | 80Gx2 | openllm serve llama3.3:70b |
| llama4 | 17b16e | 80Gx8 | openllm serve llama4:17b16e |
| mistral | 8b-2410 | 24G | openllm serve mistral:8b-2410 |
| mistral-large | 123b-2407 | 80Gx4 | openllm serve mistral-large:123b-2407 |
| phi4 | 14b | 80G | openllm serve phi4:14b |
| pixtral | 12b-2409 | 80G | openllm serve pixtral:12b-2409 |
| qwen2.5 | 7b | 24G | openllm serve qwen2.5:7b |
| qwen2.5-coder | 3b | 24G | openllm serve qwen2.5-coder:3b |
| qwq | 32b | 80G | openllm serve qwq:32b |
完全なモデルリストについては、OpenLLMモデルリポジトリを参照してください。
LLM サーバーをローカルで起動するには、openllm serve コマンドを使用してモデルバージョンを指定してください。
注記
OpenLLM はモデルウェイトを保存しません。ゲートされたモデルには Hugging Face トークン(HF_TOKEN)が必要です。
- Hugging Face トークンをここで作成してください。
- meta-llama/Llama-3.2-1B-Instruct などのゲートされたモデルへのアクセスをリクエストしてください。
- 以下を実行して、トークンを環境変数として設定してください:
export HF_TOKEN=<your token>
openllm serve llama3.2:1bサーバーは http://localhost:3000 でアクセス可能で、相互作用用の OpenAI 互換 API を提供します。OpenAI 互換 API をサポートする異なるフレームワークとツールでエンドポイントを呼び出すことができます。通常、以下を指定する必要があります:
- API ホストアドレス:デフォルトでは、LLM は http://localhost:3000 でホストされています。
- モデル名:名前は使用するツールによって異なる場合があります。
- API キー:クライアント認証に使用される API キー。これはオプションです。
以下に例を示します:
OpenAI Python クライアント
from openai import OpenAI
client = OpenAI(base_url='http://localhost:3000/v1', api_key='na')
# Use the following func to get the available models
# model_list = client.models.list()
# print(model_list)
chat_completion = client.chat.completions.create(
model="meta-llama/Llama-3.2-1B-Instruct",
messages=[
{
"role": "user",
"content": "Explain superconductors like I'm five years old"
}
],
stream=True,
)
for chunk in chat_completion:
print(chunk.choices[0].delta.content or "", end="")LlamaIndex
from llama_index.llms.openai import OpenAI
llm = OpenAI(api_bese="http://localhost:3000/v1", model="meta-llama/Llama-3.2-1B-Instruct", api_key="dummy")
...OpenLLM は、起動された LLM サーバーの /chat エンドポイントで http://localhost:3000/chat にチャット UI を提供します。
CLI でチャット会話を開始するには、openllm run コマンドを使用してモデルバージョンを指定してください。
openllm run llama3:8bOpenLLM のモデルリポジトリは、実行できる利用可能な LLM のカタログを表します。OpenLLM は、Llama 3、Mistral、Qwen2 などの最新のオープンソース LLM を含むデフォルトモデルリポジトリを提供しており、この GitHub リポジトリでホストされています。デフォルトと追加されたリポジトリから利用可能なすべてのモデルを確認するには、次を使用します:
openllm model listローカルモデルリストをすべての接続されたリポジトリの最新更新と同期させるには、次を実行します:
openllm repo updateモデルの情報を確認するには、次を実行します:
openllm model get llama3.2:1bデフォルトモデルリポジトリに他のユーザーが使用できる新しいモデルを追加することで貢献できます。これには LLM の Bento を作成して送信することが含まれます。詳細については、この例のプルリクエストを確認してください。
OpenLLM にカスタムモデルを含む独自のリポジトリを追加できます。そのためには、カスタム LLM を保存するための bentos ディレクトリを使用して、デフォルトの OpenLLM モデルリポジトリの形式に従ってください。BentoML で Bentos をビルドしてモデルリポジトリに送信する必要があります。
まず、Bentos をビルドするための BentoML が提供するガイドラインに従って、bentos ディレクトリにカスタムモデルを準備します。例についてはデフォルトモデルリポジトリを確認し、詳細については開発者ガイドを読んでください。
次に、カスタムモデルリポジトリを OpenLLM に登録します:
openllm repo add <repo-name> <repo-url>注:現在、OpenLLM はパブリックリポジトリの追加のみをサポートしています。
OpenLLM は、統一されたモデルサービングフレームワークである BentoML と、エンタープライズ AI チーム向けの AI 推論プラットフォームである BentoCloud を介した LLM クラウドデプロイメントをサポートしています。BentoCloud は、オートスケーリング、モデルオーケストレーション、可観測性など多くの機能を備えた、LLM 推論に最適化された完全に管理されたインフラストラクチャを提供し、任意の AI モデルをクラウドで実行できます。
BentoCloud に無料でサインアップしてログインしてください。次に、openllm deploy を実行してモデルを BentoCloud にデプロイします:
openllm deploy llama3.2:1b --env HF_TOKEN注
ゲートされたモデルをデプロイする場合は、環境変数に HF_TOKEN を設定してください。
デプロイメントが完了したら、BentoCloud コンソールでモデル推論を実行できます:
OpenLLM は BentoML チームによってアクティブに保守されています。LLM をより利用しやすく簡単に使えるようにするための私たちの追求に気軽に連絡して参加してください 👉 Slack コミュニティに参加してください!
オープンソースプロジェクトとして、新機能、バグ修正、ドキュメントなど、あらゆる種類の貢献を歓迎します。貢献する方法のいくつかを以下に示します:
- GitHub issue を作成してバグを報告してください。
- プルリクエストを送信するか、他の開発者のプルリクエストをレビューするのをお手伝いください。
- OpenLLM デフォルトモデルリポジトリに LLM を追加して、他のユーザーがあなたのモデルを実行できるようにしてください。プルリクエストテンプレートを参照してください。
- 開発者ガイドを確認して、詳細を学んでください。
このプロジェクトは以下のオープンソースプロジェクトを使用しています:
- bentoml/bentoml - 本番レベルのモデルサービング用
- vllm-project/vllm - 本番レベル LLM バックエンド用
- blrchen/chatgpt-lite - 高機能な Web チャット UI 用
- astral-sh/uv - 高速なモデル要件インストール用
これらのプロジェクトの開発者および貢献者の努力と献身に感謝します。
