Lightport – 一个维护中的 Portkey AI 网关分支
Lightport 是一个轻量级的 AI 网关,专注于让各种 LLM 提供商兼容 OpenAI API。它源自 Portkey AI Gateway,但去掉了重试、缓存等高级功能,仅保留请求/响应转换层。支持 77 个提供商,包括 OpenAI、Anthropic、Azure OpenAI 等。可直接通过 pnpx lightport 快速启动。
Lightport 是一个轻量级的 AI 网关,其核心目标是使各种 LLM 提供商与 OpenAI API 兼容。该项目源自 Portkey AI Gateway,但进行了大幅简化,专注于请求和响应转换层,而将重试、秘密管理、缓存、速率限制等操作功能交由上层服务或自定义中间件处理。
Lightport 支持 77 个 AI 提供商,包括 OpenAI、Anthropic、Azure OpenAI、Google Gemini、Vertex AI、Bedrock、Cohere、Mistral、Groq、Deepseek、Together AI、Fireworks、Ollama 等。它提供三个主要端点:/v1/chat/completions、/v1/completions 和 /v1/responses(支持 GET、DELETE 和 input_items)。用户通过设置 x-lightport-provider 头部指定提供商,并通过 Authorization 或特定于提供商的头部(如 x-api-key 用于 Anthropic)传递凭据。此外,它还支持通过 x-lightport-proxy-url 头部使用 HTTP 代理。
该项目最初是作为 Portkey AI Gateway 的分支创建的,当时开发者只需要使 AI 提供商与 OpenAI 兼容的转换层。随着时间的推移,Portkey 发展成为一个功能全面的 AI 网关,包含护栏、回退、自动重试、负载均衡、请求超时、智能缓存、使用分析、成本管理等。Lightport 团队认为这些功能应属于更高的抽象层——这正是 Glama 所提供的——而不是网关本身。自分支以来,Lightport 修复了许多错误,为每个提供商添加了集成测试,并持续积极维护,因为它直接为 Glama 提供支持。
快速开始使用 Lightport 非常简单:运行 pnpx lightport 即可在本地启动网关,监听 http://localhost:8787。然后可以通过 curl 发送请求,例如指定模型和消息。对于某些提供商,需要额外的头部,如 Azure OpenAI 需要资源名称、部署 ID 和 API 版本,Bedrock 需要 AWS 凭证等。
Lightport 的架构清晰:请求依次经过 bodyParser 中间件(解析 JSON/FormData)、requestValidator(要求提供商头部)、handler(根据端点选择处理函数)、constructConfigFromRequestHeaders、tryPost,然后通过适配器转换(如需要),再到提供商查找和 transformToProviderRequest,最后通过 fetch 发送给提供商,响应经 responseHandler 转换后返回。提供者系统包含 77 个实现,每个定义 API 配置、请求参数转换和响应转换(流式和非流式)。
总体而言,Lightport 是一个专注于核心功能的轻量级网关,适合只需要 OpenAI 兼容性的用户,而需要企业级功能的用户则应考虑 Portkey Gateway。