← Open Source
bricks-cloud

BricksLLM

🔒 Enterprise-grade API gateway that helps you monitor and impose cost or rate limits per API key. Get fine-grained access control and monitoring per user, application, or environment. Supports OpenAI, Azure OpenAI, Anthropic, vLLM, and open-source LLMs.

InfrastructureGatewayGo
Open on GitHub
Momentum
+0stars in 24 hours0.0%
1.23k
Stars
97
Forks
+0
This week
13
Contributors
Created 2023-07-18 · Updated 2026-10-13 · #11049 today
Top developers
spikelu2016donfourgali-leilei

bricks-cloud/BricksLLM is ranked 11,049 with 1,230 stars.

Same-category comparison

bricks-cloud/BricksLLM is ranked 11,049 among these 8 peers; NVIDIA/kvpress is ranked 11,046.

Same-category comparison
NameRankMetrics
objectbox/objectbox-dart11,028
Language:
Dart
Stars:
1,236
Forks:
163
Description:
Flutter database for super-fast Dart object persistence.
Scale3-Labs/langtrace11,036
Language:
TypeScript
Stars:
1,234
Forks:
129
Description:
Langtrace 🔍 is an open-source, Open Telemetry based end-to-end observability tool for LLM applications, providing real-time tracing, evaluations and metrics for popular LLMs, LLM frameworks, vectorDBs and more.. Integrate using Typescript, Python.
zkonduit/ezkl11,044
Language:
Rust
Stars:
1,231
Forks:
212
Description:
ezkl is an engine for doing inference for deep learning models and other computational graphs in a zk-snark (ZKML). Use it from Python, Javascript, or the command line.
NVIDIA/kvpress11,046
Language:
Python
Stars:
1,230
Forks:
187
Description:
LLM KV cache compression made easy.
Tencent/FeatherCNN11,053
Language:
C++
Stars:
1,229
Forks:
274
Description:
FeatherCNN is a high performance inference engine for convolutional neural networks.
microsoft/MInference11,055
Language:
Python
Stars:
1,229
Forks:
83
Description:
[NeurIPS'24 Spotlight, ICLR'25, ICML'25] To speed up Long-context LLMs' inference, approximate and dynamic sparse calculate the attention, which reduces inference latency by up to 10x for pre-filling on an A100 while maintaining accuracy.
run-house/kubetorch11,062
Language:
Python
Stars:
1,228
Forks:
61
Description:
Distribute and run AI workloads on Kubernetes magically in Python, like PyTorch for ML infra.
basetenlabs/truss11,101
Language:
Python
Stars:
1,219
Forks:
133
Description:
The simplest way to serve AI/ML models in production.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageGo
CategoryInfrastructure
SubcategoryGateway
Stars1,230
Forks97
Contributors13
Created date2023-07-18
Updated date2026-10-13
Stars in 1 day0
Stars in 7 days0
Rank11,049
Previous rank11,002
Rank change-47
7-day stars rank12,865
Previous 7-day stars rank12,883
7-day stars rank change18
Total stars rank9,500
Previous total stars rank9,492
Total stars rank change-8
README summary

**BricksLLM: AI Gateway For Putting LLMs In Production** [! TIP] A managed version of BricksLLM is also available! It is production ready, and comes with a dashboard to make interacting with BricksLLM easier. **BricksLLM** is a cloud native AI gateway written in Go. Currently, it provides native support for OpenAI, Anthropic, Azure OpenAI and vLLM. BricksLLM aims to provide enterprise level infrastructure that can power any LLM production use cases. Here are some use cases for BricksLLM: Set LLM usage limits

for users on different pricing tiers Track LLM usage on a per user and per organization basis Block or redact requests containing PIIs Improve LLM reliability with failovers, retries and caching Distribute API keys with rate limits and cost limits for internal development/production use cases Distribute API keys with rate limits and cost limits for students Features [x] PII detection and masking [x] Rate limit [x] Cost control [x] Cost analytics [x] Request analytics [x] Caching [x] Request Retries

[x] Failover [x] Model access control [x] Endpoint access control [x] Native support for all OpenAI endpoints [x] Native support for Anthropic [x] Native support for Azure OpenAI [x] Native support for vLLM [x] Native support for Deepinfra [x] Support for custom deployments [x] Integration with custom models [x] Datadog integration [x] Logging with privacy control Getting Started The easiest way to get started with BricksLLM is through BricksLLM-Docker. Step 1 - Clone BricksLLM-Docker repository Step 2 - Change to

BricksLLM-Docker directory Step 3 - Deploy BricksLLM locally with Postgresql and Redis You can run this in detach mode use the -d flag: Step 4 - Create a provider setting Copy the from the response. Step 5 - Create a Bricks API key Use from the previous step as to create a key with a rate limit of 2 req/min and a spend limit of 25 cents. Then, just redirect your requests to us and use OpenAI as you would normally

. For example: Or if you're using an SDK, you could change its to point to us. Separated by , | | | | optional | Name for Postgresql DB. | | | required | Postgresql DB username | | | required | Postgresql DB password | | | optional | Postgresql SSL mode| | | | optional | The port that Postgresql DB runs on| | | | optional | Timeout for Postgresql read operations | | | | optional | Timeout for Postgresql write operations | | | | required | Host for Redis. Separated by , | | | | optional | Redis Password | | | optional | The port that Redis DB runs on | | | | optional | Timeout for Redis read operations | | | | optional | Timeout

for Redis write operations | | | | optional | The interval BricksLLM API gateway polls Postgresql DB for latest key configurations | | | | optional | "datadog" or Host:Port(127. | | | optional | Timeout for proxy HTTP requests. | | | | optional | Number of event message consumers that help handle counting tokens and inserting event into db. | | | | optional | It is for PII detection feature. | | | | optional | It is for using PII detection feature. | | | | optional | Timeout for amazon requests. | | | | optional | Timeout for amazon connection. | | | | optional | Simple password for the admin server. | Admin Server Swagger

Doc Proxy Server Swagger Doc

Frequently asked questions

How many stars and forks are recorded?

bricks-cloud/BricksLLM has 1,230 stars and 97 forks.

What is the repository rank?

bricks-cloud/BricksLLM is ranked 11,049.

What language and category are recorded?

bricks-cloud/BricksLLM has 1,230 stars, uses Go and belongs to Infrastructure.

Which repository is closest in rank?

bricks-cloud/BricksLLM is compared with NVIDIA/kvpress, ranked 11,046 with 1,230 stars.

README

BricksLLM: AI Gateway For Putting LLMs In Production

[!TIP] A managed version of BricksLLM is also available! It is production ready, and comes with a dashboard to make interacting with BricksLLM easier. Try us out for free today!

BricksLLM is a cloud native AI gateway written in Go. Currently, it provides native support for OpenAI, Anthropic, Azure OpenAI and vLLM. BricksLLM aims to provide enterprise level infrastructure that can power any LLM production use cases. Here are some use cases for BricksLLM:

  • Set LLM usage limits for users on different pricing tiers
  • Track LLM usage on a per user and per organization basis
  • Block or redact requests containing PIIs
  • Improve LLM reliability with failovers, retries and caching
  • Distribute API keys with rate limits and cost limits for internal development/production use cases
  • Distribute API keys with rate limits and cost limits for students

Features

Getting Started

The easiest way to get started with BricksLLM is through BricksLLM-Docker.

Step 1 - Clone BricksLLM-Docker repository

git clone https://github.com/bricks-cloud/BricksLLM-Docker

Step 2 - Change to BricksLLM-Docker directory

cd BricksLLM-Docker

Step 3 - Deploy BricksLLM locally with Postgresql and Redis

docker compose up

You can run this in detach mode use the -d flag: docker compose up -d

Step 4 - Create a provider setting

curl -X PUT http://localhost:8001/api/provider-settings \
   -H "Content-Type: application/json" \
   -d '{
          "provider":"openai",
          "setting": {
             "apikey": "YOUR_OPENAI_KEY"
          }
      }'   

Copy the id from the response.

Step 5 - Create a Bricks API key

Use id from the previous step as settingId to create a key with a rate limit of 2 req/min and a spend limit of 25 cents.

curl -X PUT http://localhost:8001/api/key-management/keys \
   -H "Content-Type: application/json" \
   -d '{
	      "name": "My Secret Key",
	      "key": "my-secret-key",
	      "tags": ["mykey"],
        "settingIds": ["ID_FROM_STEP_FOUR"],
        "rateLimitOverTime": 2,
        "rateLimitUnit": "m",
        "costLimitInUsd": 0.25
      }'   

Congratulations you are done!!!

Then, just redirect your requests to us and use OpenAI as you would normally. For example:

curl -X POST http://localhost:8002/api/providers/openai/v1/chat/completions \
   -H "Authorization: Bearer my-secret-key" \
   -H "Content-Type: application/json" \
   -d '{
          "model": "gpt-3.5-turbo",
          "messages": [
              {
                  "role": "system",
                  "content": "hi"
              }
          ]
      }'

Or if you're using an SDK, you could change its baseURL to point to us. For example:

// OpenAI Node SDK v4
import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: "some-secret-key", // key created earlier
  baseURL: "http://localhost:8002/api/providers/openai/v1", // redirect to us
});

How to Update?

For updating to the latest version

docker pull luyuanxin1995/bricksllm:latest

For updating to a particular version

docker pull luyuanxin1995/bricksllm:1.4.0

Documentation

Environment variables

Name type description default
POSTGRESQL_HOSTS required Hosts for Postgresql DB. Separated by , localhost
POSTGRESQL_DB_NAME optional Name for Postgresql DB.
POSTGRESQL_USERNAME required Postgresql DB username
POSTGRESQL_PASSWORD required Postgresql DB password
POSTGRESQL_SSL_MODE optional Postgresql SSL mode disable
POSTGRESQL_PORT optional The port that Postgresql DB runs on 5432
POSTGRESQL_READ_TIME_OUT optional Timeout for Postgresql read operations 2m
POSTGRESQL_WRITE_TIME_OUT optional Timeout for Postgresql write operations 5s
REDIS_HOSTS required Host for Redis. Separated by , localhost
REDIS_PASSWORD optional Redis Password
REDIS_PORT optional The port that Redis DB runs on 6379
REDIS_READ_TIME_OUT optional Timeout for Redis read operations 1s
REDIS_WRITE_TIME_OUT optional Timeout for Redis write operations 500ms
IN_MEMORY_DB_UPDATE_INTERVAL optional The interval BricksLLM API gateway polls Postgresql DB for latest key configurations 1s
STATS_PROVIDER optional "datadog" or Host:Port(127.0.0.1:8125) for statsd.
PROXY_TIMEOUT optional Timeout for proxy HTTP requests. 600s
NUMBER_OF_EVENT_MESSAGE_CONSUMERS optional Number of event message consumers that help handle counting tokens and inserting event into db. 3
AWS_SECRET_ACCESS_KEY optional It is for PII detection feature. 5s
AWS_ACCESS_KEY_ID optional It is for using PII detection feature. 5s
AMAZON_REGION optional Region for AWS. us-west-2
AMAZON_REQUEST_TIMEOUT optional Timeout for amazon requests. 5s
AMAZON_CONNECTION_TIMEOUT optional Timeout for amazon connection. 10s
ADMIN_PASS optional Simple password for the admin server.

Admin Server

Swagger Doc

Proxy Server

Swagger Doc

Nearby in the ranking
Similar items