bentoml/OpenLLM
Run any open-source LLMs, such as DeepSeek and Llama, as OpenAI compatible API endpoint in the cloud.
OpenLLM – OpenAI 互換 API の背後でセルフホスト LLM
概要
- オープンソースの大規模言語モデル(LLM)を(Llama 3.x から Qwen 2.5、Mistral、Phi-4 など)ローカルサーバーとして実行し、OpenAI の API が提供するものと同じ REST エンドポイントを公開する Python パッケージです。
- 軽量なチャット UI、CLI ツール、Docker/Kubernetes デプロイメントヘルパーがバンドルされており、単一のコマンドで本番グレードの推論サービスを立ち上げることができます。
主な機能
- ワンラインモデル起動 –
openllm serve llama3.2:1bはモデルをダウンロードし(Hugging Face 経由)、vLLM ベースの推論サーバーを起動し、http://localhost:3000でアクセス可能にします。 - OpenAI 互換エンドポイント –
/v1/chat/completions、/v1/completionsなどは、OpenAI と通信する任意のクライアントライブラリ(例:openaiPython SDK、LlamaIndex)で動作します。 - 組み込みチャット UI –
http://localhost:3000/chatにアクセスすると、フロントエンドコードを書かずにインタラクティブな Web チャットが利用できます。 - 拡張可能なモデルカタログ – デフォルトの GitHub ホストの モデルリポジトリ がサポート対象モデルをリストします。BentoML パッケージの独自モデルリポジトリを追加できます。
- エンタープライズ対応デプロイメント – BentoML の本番サービススタックを活用し、Docker イメージと Kubernetes 用の Helm チャートを生成します。
- バックエンドの柔軟性 – 内部で高性能
vllmエンジンを使用し、GPU 上で高速な推論を実現します。
はじめに
pip install openllm # パッケージをインストール
openllm hello # 動作確認デモ
openllm serve llama3.2:1b # LLM サーバーを起動(ゲート付きモデルには HF トークンが必要)
- サーバーはポート 3000 でリッスンし、API と
/chatUI の両方を提供します。 - Python クライアントの例:
from openai import OpenAI
client = OpenAI(base_url='http://localhost:3000/v1', api_key='na')
resp = client.chat.completions.create(
model='meta-llama/Llama-3.2-1B-Instruct',
messages=[{'role':'user','content':'超伝導体を5歳児に説明して'}],
stream=True,
)
for chunk in resp:
print(chunk.choices[0].delta.content or '', end='')
典型的なユースケース
- 外部 API 使用料を支払わずに LLM 搭載機能の迅速なプロトタイピング。
- オンプレミスまたはクラウド VPC でのプライベートまたは規制対象モデルのデプロイ。
- 既存の OpenAI ベースのツールと相互運用する必要がある内部 AI サービスの構築。
- モデルリポジトリに追加するだけで、新しいオープンソースモデルを試す。
コミュニティと貢献
- 活発な Slack コミュニティ、フォーラム、GitHub イシュートラッカー。
- 貢献歓迎:新しいモデルの追加、CLI の改善、デプロイスクリプトの拡張、バグ修正の提出。
- このプロジェクトは Apache-2.0 ライセンスで、BentoML、vLLM、その他のオープンソースコンポーネントに基づいています。
結論 OpenLLM は、モデルのダウンロード、GPU セットアップ、API 設計の重労働を抽象化し、開発者にオープンソース LLM を OpenAI サービスであるかのように提供するプラグアンドプレイの方法を提供します。オプションでエンタープライズグレードの Docker/Kubernetes デプロイメントも可能です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト