Skip to main content

openai-router

Project description

🚀 OpenAI Router

轻量级、持久化、零配置的 OpenAI API 统一网关
一键聚合 vLLM、SGLang、lmdeploy、Ollama…


  • 将不同推理框架(vLLM、SGLang、lmdeploy、Ollama… )、不同Host、不同PortOpenAI API接口统一聚合到同一个base_url上,实现更便捷的模型调用。

✨ Features

Feature Description
🌍 统一入口 /chat/completions/embeddings/images/generations… 全部转发
🧩 多后端 vLLM、SGLang、lmdeploy、Ollama… 任意组合
💾 持久化 SQLite + SQLModel 零配置存储路由
⚡ 实时流 SSE & Chunked Transfer 全双工支持
🎨 Web UI Gradio 即用的管理面板
🔍 兼容 OpenAI SDK / LangChain / AutoGen / LlamaIndex / CrewAI …等 一行代码都不用改

📦 Quick Start

Step-1:安装

PyPI(推荐)

uv add openai-router -U

或者

pip install openai-router -U

Step-2:启动

openai-router --host localhost --port 8000 

浏览器自动打开
📍 UI:http://localhost:8000
📍 API 文档:http://localhost:8000/docs

Step-3:添加后端样例

在 Web UI 「添加 / 更新」填入:

  • 模型名:gpt-4
  • 后端 URL:http://localhost:8082/v1
  • 后端 API 密钥 (可选) : 如果提供,路由器将使用此密钥覆盖原始请求中的 Authorization 标头。如果留空,将透传原始请求的密钥。

🔧 API Usage

像官方 OpenAI SDK一样调用

from openai import OpenAI 
client = OpenAI(
      base_url="http://localhost:8000/v1",
      api_key="sk-dummy"
)
resp = client.chat.completions.create(
      model="gpt-4",
      messages=[{"role":"user","content":"hello"}],
      stream=True 
)
for chunk in resp:
      print(chunk.choices[0].delta.content or "", end="")

cURL

curl http://localhost:8000/v1/chat/completions \
     -H "Content-Type: application/json" \
     -d '{"model":"gpt-4","messages":[{"role":"user","content":"hi"}],"stream":true}'

🗂️ Endpoints

Method Path Description
GET / Gradio Admin UI
GET /docs OpenAPI Swagger
GET /v1/models List available models
POST /v1/responses Responses API
POST /v1/chat/completions Chat completion
POST /v1/embeddings Text embeddings
POST /v1/images/generations DALL·E style
POST /v1/audio/transcriptions Whisper
All OpenAI endpoints supported

⚙️ Configuration

CLI Options

openai-router --help 
Flag Default Description
--host localhost Bind address
--port 8000 Bind port

🏗️ Architecture

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openai_router-0.1.2.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openai_router-0.1.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file openai_router-0.1.2.tar.gz.

File metadata

  • Download URL: openai_router-0.1.2.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openai_router-0.1.2.tar.gz
Algorithm Hash digest
SHA256 80a137c493d45fbb1de4b13cabf61c585da61baa64675a5080d78c0557b82437
MD5 e9dacdf64656e03cefd234bb42fc519d
BLAKE2b-256 bce5a09ba5f0afeaa429a6c387ae1458315740e2318806cd0468dcb1e773d330

See more details on using hashes here.

Provenance

The following attestation bundles were made for openai_router-0.1.2.tar.gz:

Publisher: pypi.yml on shell-nlp/openai_router

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openai_router-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: openai_router-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openai_router-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2169ef857f617c583824878283b72a00e814f5897573824fbe0ce6ccf30eaba8
MD5 4400de1d9a3fa81d27a773aa1cabefcf
BLAKE2b-256 eb0bacdc5da220ae43aae2b630526fe7d8c3c7293b0365849416e6e0c2f7caec

See more details on using hashes here.

Provenance

The following attestation bundles were made for openai_router-0.1.2-py3-none-any.whl:

Publisher: pypi.yml on shell-nlp/openai_router

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page