README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
LLM Gateway
LLM Gateway 是一个面向大语言模型(LLMs)的开源 API 网关。它作为您的应用程序与各种 LLM 提供商之间的中间件,允许您:
- 将请求路由到多个 LLM 提供商(OpenAI、Anthropic、Google Vertex AI 等)
- 在一个地方管理不同提供商的 API 密钥
- 跟踪所有 LLM 交互中的 token 使用量和成本
- 分析性能指标以优化您的 LLM 使用
功能
- 统一 API 接口:兼容 OpenAI API 格式,实现无缝迁移
- 使用分析:跟踪请求、使用的 token 数、响应时间和成本
- 多提供商支持:通过单一网关连接到各种 LLM 提供商
- 性能监控:比较不同模型的性能和成本效益
快速开始
您可以以两种方式使用 LLM Gateway:
- 托管版本:如需无需设置即可立即使用,请访问 llmgateway.io 创建账户并获取 API 密钥。
- 自托管:在您自己的基础设施上部署 LLM Gateway,以完全控制您的数据和配置。
使用 Docker 自托管
对于统一镜像,请使用 Docker 管理的卷。不要将主机目录直接绑定挂载到 /var/lib/postgresql/data,因为容器内的 PostgreSQL 初始化需要设置该目录的权限,而这可能会根据主机文件系统和所有权情况而失败。
export LLM_GATEWAY_SECRET="$(openssl rand -base64 32 | tr -d '\n')"
export GATEWAY_API_KEY_HASH_SECRET="$(openssl rand -base64 32 | tr -d '\n')"
./scripts/run-unified-container.sh
如果您更喜欢一次性使用 docker run,请使用命名卷而不是 ~/some-host-dir:
docker volume create llmgateway_postgres
docker volume create llmgateway_redis
docker run -d \
--name llmgateway \
--restart unless-stopped \
-p 3002:3002 \
-p 3003:3003 \
-p 3005:3005 \
-p 3006:3006 \
-p 4001:4001 \
-p 4002:4002 \
-v llmgateway_postgres:/var/lib/postgresql/data \
-v llmgateway_redis:/var/lib/redis \
-e AUTH_SECRET="$LLM_GATEWAY_SECRET" \
-e GATEWAY_API_KEY_HASH_SECRET="$GATEWAY_API_KEY_HASH_SECRET" \
ghcr.io/theopenco/llmgateway-unified:latest
使用 LLM Gateway API
curl -X POST https://api.llmgateway.io/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LLM_GATEWAY_API_KEY" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "user", "content": "Hello, how are you?"}
]
}'
开发环境搭建
-
安装依赖项并配置开发环境:
pnpm i && pnpm run setup
这将安装所有依赖项,启动 Docker 服务,同步数据库架构,并填充初始数据。
WSL2 用户注意:请确保 Docker Desktop 正在运行,并已启用 WSL 集成。
-
启动开发服务器:
pnpm dev -
构建生产环境:
pnpm build
目录结构
apps/ui: Next.js 仪表盘前端apps/playground: Lounge — 面向消费者的 AI 聊天应用 (Next.js)apps/code: Next.js 开发计划 + 编码工具落地页与仪表盘apps/api: Hono 后端apps/gateway: 用于路由 LLM 请求的 API 网关apps/docs: 文档站点apps/admin: 内部管理仪表盘packages/db: Drizzle ORM 架构与迁移packages/models: 模型与提供商定义packages/shared: 共享类型与工具
许可证
LLMGateway 采用双重许可证:
- 开源:核心功能采用 AGPLv3 许可证 - 详见 LICENSE 文件。
- 企业版:
ee/目录中的商业功能需要企业版许可证 - 详见 ee/LICENSE。
企业版功能包括:
- 高级计费与订阅管理
- 延长数据保留期(无限期 vs 30 天)
- 自定义提供商密钥配置
- 团队与组织管理
- 优先支持
- 更多待定义功能
如需企业版授权,请通过 contact@llmgateway.io 与我们联系