ITADN
theopenco/llmgateway
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?"}
  ]
}'

开发环境搭建

  1. 安装依赖项并配置开发环境:

    pnpm i && pnpm run setup

这将安装所有依赖项,启动 Docker 服务,同步数据库架构,并填充初始数据。

WSL2 用户注意:请确保 Docker Desktop 正在运行,并已启用 WSL 集成。

  1. 启动开发服务器:

    pnpm dev
  2. 构建生产环境:

    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 与我们联系