OrcaRouter Lite

May 5, 2026 · View on GitHub

マネージド セーフティ ネットを備えたセルフホスト型 LLM ルーター。 OpenAI対応。ビヨク。単一のワークスペース。ストリーミング中。 モデル="自動"

OrcaRouter Lite Logo

テスト モデル ライセンス

言語

OrcaRouter Lite は、OrcaRouter のオープンソースの単一ワークスペース エディションです。ラップトップで実行するか、製品に同梱するか、キーを管理したくないモデルのロングテールに対してホストされた「api.orcarouter.ai」を直接使用します。

なぜ当社なのか? LiteLLM はライブラリです。 OpenRouter はクローズドソースでホストされています。オラマは地元限定です。私たちは管理されたフォールバックを備えた自己ホスト型サーバーです。これは誰にも言えない言葉です。

60 秒のクイックスタート

OrcaRouter を使用する 2 つの方法:

パス A — セルフホスト型 (BYOK)

自分のマシンで Lite を実行します。独自のプロバイダー キーを持参してください。

git clone https://github.com/Continuum-AI-Corp/OrcaRouter-Lite.git
cd OrcaRouter-Lite
cp .env.example .env
# add at least one: OPENAI_API_KEY=sk-...  (or ORCAROUTER_API_KEY=...)

docker compose up
# logs: ✓ orcarouter-lite ready. API key: sk-orca-abc123...

ベース URL: http://localhost:8000/v1。起動時に出力される sk-orca-* キーを使用します。

パス B — ホスト型 (アカウントが必要)

クローンもドッカーもありません。登録し、キーを取得し、ホストされた OpenAI SDK を指定します。

# 1. Register at https://www.orcarouter.ai and copy your sk-orca-* key
# 2. Use https://api.orcarouter.ai/v1 as the base URL

アカウントが必要です。 Hosted はルーティング、請求、プロバイダーのロングテールを処理します。OrcaRouter アカウントのトークンごとに請求されます。 docs.orcarouter.ai/introduction を参照してください。

次に、任意の OpenAI SDK から呼び出します。

以下の例では、パス A のローカルホストのベース URL を使用しています。パス B を使用している場合は、「https://api.orcarouter.ai/v1」に置き換えてください。

<詳細> <概要>Python

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="sk-orca-abc123...",
)
r = client.chat.completions.create(
    model="auto",  # or "gpt-4o-mini", "claude-3-5-sonnet-latest", ...
    messages=[{"role": "user", "content": "Hello!"}],
)
print(r.choices[0].message.content)

<詳細> <概要>Node.js

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://localhost:8000/v1",
  apiKey: "sk-orca-abc123...",
});

const r = await client.chat.completions.create({
  model: "auto",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(r.choices[0].message.content);

<詳細> <概要>カール

curl http://localhost:8000/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-abc123..." \
  -H "Content-Type: application/json" \
  -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'

ダッシュボードの「http://localhost:8000/」を開きます (プロバイダー、ルーティング、分析、キー (パス A のみ))。

## なぜ?

ライトLiteLLM ライブラリオープンルーターオラマ
セルフホスト型サーバー図書館として
OpenAI対応
マルチプロバイダー (OpenAI/Anthropic/Google/…)
内蔵ダッシュボード
model="auto" (最も安価な機能)該当なし
ストリーミング
ビヨク該当なし
フォールバックとしてホスト該当なし
Postgres や Redis は不要該当なし該当なし

model="auto" — 見出し機能

model="auto" を送信すると、OrcaRouter は、リクエストの機能要件 (ツール、ビジョン、JSON モード) を満たす構成済みプロバイダーの中で 最も安価 のモデルを選択します。手動ルーティング ルールはありません。レートリミットの体操はありません。コード内の「if x: ...」コストの最適化はありません。

client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "What's in this image?"},
        {"type": "image_url", "image_url": {"url": "data:..."}},
    ]}],
)
# → routes to the cheapest VISION-capable model your keys cover

解決されたモデルは「x-orca-resolved-model」応答ヘッダーを介して呼び出し元に公開されるため、実際に使用されたものをログ/表示できます。

アップストリームとしてホスト (ライト + ホスト)

すでに Lite を実行していますか? www.orcarouter.ai から ORCAROUTER_API_KEYsk-orca-* に設定すると、hosted はルーティング チェーン内のもう 1 つのプロバイダーになります。ローカル キーに含まれないモデルをカバーします。

# .env
ORCAROUTER_API_KEY=sk-orca-hosted-abc...

使用例:

  • 購入前に試してください — ローカルプロバイダーキーは必要ありません
  • ローカル ログ - ホストされたルーティング処理、Lite はダッシュボードの RequestLog 行を保存します
  • フェイルオーバー — ローカルプロバイダーに障害が発生し、ホストされているのがセーフティネットです

ストリーミング

標準の data: ... \n\n フレーミングとターミナル [DONE] センチネルを備えた OpenAI 互換の SSE 形式 — OpenAI からすでにストリーミングしている SDK のドロップイン。

for chunk in client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True,
):
    print(chunk.choices[0].delta.content or "", end="", flush=True)

モデルカタログ

100 を超えるチャット モデルが起動時に LiteLLM のコミュニティが管理する価格設定データベース からロードされます。手動で管理するモデル リストはありません。各エントリは以下を公開します。

  • id (例: gpt-4oclaude-3-5-sonnet-latest)
  • provider (設定されたキーにマッピングされます)
  • 機能フラグ: supports_toolssupports_visionsupports_json_mode
  • トークンごとの入出力コスト (節約ウィジェット + model="auto" を推進)

GET /v1/models returns the OpenAI-format catalogue.

別の場所にデプロイする

プラットフォームワンクリック
鉄道鉄道へのデプロイ
フライアイオフライ起動 --dockerfile Dockerfile
レンダリングリポジトリに接続します。ルート ディレクトリ = .
ベア・ドッカーdocker run -p 8000:8000 -e OPENAI_API_KEY=... ghcr.io/... (イメージは近日公開予定)

箱の中身は何ですか

  • POST /v1/chat/completions — プロキシ + ストリーミング + model="auto" + クロスプロバイダー プロンプト キャッシュ
  • GET /v1/models — 検出可能なモデル カタログ (litellm.model_cost からの 100 以上のモデル)
  • GET/PUT/DELETE /v1/providers/{provider} — 暗号化されたプロバイダー キーを設定 / リスト / 取り消し
  • GET/PUT /v1/routing — 戦略の変更 (バランス / 最安 / 最速 / 品質)
  • GET /v1/analytics/{recent,spend,latency, Savingss,unreachable} — ローカル分析、テレメトリはボックスから出ません
  • GET /v1/hosted — ホスト型フォールバック ステータス (ダッシュボードの "Get $5 free Credit" カードを駆動します)
  • GET/POST/DELETE /v1/keys/... — API キーのリスト化、回転、取り消し
  • / の単一ページのダッシュボード
  • デフォルトでは SQLite。 Postgres は「DATABASE_URL」経由でオプトインします。 Redis はオプション

クロスプロバイダープロンプトキャッシュ

確定的なリクエスト (「温度=0」または固定された「シード」) はキャッシュから繰り返し処理されます。これは、Anthropic だけでなく すべて プロバイダーにわたって機能します。 「REDIS_URL」が設定されている場合はバックエンドが Redis で、それ以外の場合はインプロセス LRU です。キャッシュ ヒットは「x-orca-cache: HIT」で即座に返され、コストは $0 です。

$ curl ... -d '{"model":"auto","messages":[...], "temperature": 0}' -i
HTTP/1.1 200 OK
x-orca-cache: MISS
x-orca-resolved-model: gpt-4o-mini

$ curl ...  # same payload again
HTTP/1.1 200 OK
x-orca-cache: HIT served from cache, no upstream call

節約ウィジェット

GET /v1/analytics/savings?baseline=gpt-4o&days=7 reports what your traffic would have cost on always-GPT-4 vs what it actually cost. The dashboard shows it as a tile.

統合

[Continue.dev](./integrations/ continue.json)、AiderCursorLangChainLlamaIndex、[Vercel AI] のドロップイン構成SDK](./integrations/vercel_ai.ts)、および OpenAI Chat Completions プロトコルを使用するツール。 integrations/ を参照してください。

意図的にそうでないもの

これは 単一ワークスペース エディションです。設計上、いいえ:

  • マルチテナント、RBAC、SSO
  • 請求、ウォレット、ポイント、パートナー プログラム
  • 管理コンソール、監査ログ、信頼性と安全性
  • マルチポッド展開 / Kubernetes
  • アラート用の電子メール / Slack / Webhook

これらについては、ホストされた製品または (今後の) Teams エディションを参照してください。

テスト

テストファーストで構築。ここに出荷されるすべての動作には、最初に失敗するテストがありました。

pip install -e ".[dev]"
PYTHONPATH=. pytest -v
# 127 passed
スライステスト何を
1. 設定5環境読み込み、デフォルト、env_provider_keys()
2. シード3ブートストラップ ワークスペース + API キー + RoutingConfig、べき等
3. 認証ミドルウェア4ベアラー トークンの検証、欠落/無効の場合は 401
4. アプリファクトリー3/health、エラー エンベロープ、/v1/* ゲート
5. プロバイダーキー CRUD5保存時には暗号化され、平文は往復することはありません。
6.ルーターキャッシュ13env+DB+hosted デプロイメントアセンブリを優先
7. チャットの完了5OpenAI 形式、RequestLog、検証
8. 分析4最近 / 支出 / レイテンシ p50/p99
9. /v1/{モデル、キー、ルーティング}8リスト/作成/取り消し + 戦略の更新
10. ストリーミング4SSE フォーマット、[DONE] センチネル、ログ ライトバック
11. カタログ7100 を超えるモデル、機能フラグ、価格設定
12. model="auto"21能力検出、最も安価なニーズを満たす (ユニット + 統合)
13. コスト削減9節約と常時 GPT-4 ベースライン + ホスト型自動の比較
14. プロンプトキャッシュ15クロスプロバイダー完全一致キャッシュ + チャット統合
15. ベンチマーク4summary() + render_markdown() 集約
16. ホストのステータス7/v1/hosted 設定ソース + サインアップ URL 表面
17. ホスト型自動節約3合成カタログの「hosted_auto Savings」エッジケース
18. 到達不可能なモデル7ホストがオンになっていると「アクセスできないモデル」タイルが消去される
合計127

## 建築

app/
├── main.py             FastAPI factory + lifespan + SPA mount
├── config.py           Settings (~15 fields)
├── deps.py             DI helpers
├── seed.py             First-run bootstrap
├── auto_routing.py     model="auto" capability + cost scoring
├── router_cache.py     Single-workspace router
├── prompt_cache.py     Cross-provider exact-match cache (Redis or in-memory LRU)
├── schemas.py          OpenAI-compatible request schema
├── middleware/auth.py  sk-orca-* validation
└── routes/
    ├── chat.py         /v1/chat/completions  (blocking + streaming)
    ├── models.py       /v1/models
    ├── providers.py    BYOK CRUD
    ├── routing.py      strategy config
    ├── analytics.py    recent / spend / latency / savings / unreachable
    ├── keys.py         list / rotate / revoke API keys
    ├── hosted.py       /v1/hosted — hosted-fallback status for the dashboard
    └── health.py

packages/
├── litellm_adapter/    Router wrapper + 100+ model catalog
├── auth/               hashing + AES-256-GCM
└── db/                 models + engine + session

ロードマップ

  • OpenAI 互換のチャット補完
  • ストリーミング (SSE)
  • model="auto" 最も安価なルーティング
  • アップストリームとしてホストされる
  • 保存時の暗号化された BYOK
  • ローカル分析ダッシュボード
  • CI (GitHub アクション)
  • プロバイダー間のプロンプト キャッシュ
  • Continue.dev / Aider / LangChain / Cursor / Vercel AI SDK の統合
  • 公開ベンチマーク + 貯蓄請求
  • 埋め込み + 画像生成プロキシ

フェイルオーバーのデモについては、DEMO.md を参照してください。

ライセンス

マサチューセッツ工科大学ライセンス を参照してください。