Update sidebar and documentation for Guardrail Providers

This commit is contained in:
Arindam200
2026-03-17 03:46:37 +05:30
parent 9cf80132ed
commit 7b5a6f35c4
3 changed files with 185 additions and 121 deletions
+1 -7
View File
@@ -113,19 +113,13 @@ items={[
---
## Guardrails
## Guardrail Providers
Add safety and content filtering to LLM calls.
<NavigationCards
columns={3}
items={[
{
icon: "⚡",
title: "Quick Start",
description: "Get started with guardrails.",
to: "../proxy/guardrails/quick_start",
},
{
icon: "🛡️",
title: "Lakera AI",
@@ -1,6 +1,7 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import Image from '@theme/IdealImage';
# Getting Started Tutorial
@@ -37,7 +38,41 @@ $ pip install 'litellm[proxy]'
<TabItem value="docker-compose" label="Docker Compose (Proxy + DB)">
Use this docker compose to spin up the proxy with a postgres database running locally.
### Step 1 — Pull the LiteLLM database image
LiteLLM provides a pre-built image with Postgres bundled in. Pull it before starting.
```bash
docker pull ghcr.io/berriai/litellm-database:main-latest
```
See all available tags on the [GitHub Container Registry](https://github.com/BerriAI/litellm/pkgs/container/litellm-database).
---
### Step 2 — Set up your config.yaml (do this before starting the server)
Create a `litellm_config.yaml` file. You **must** add your model and database settings here before starting the proxy.
```yaml
model_list:
- model_name: gpt-4o
litellm_params:
model: azure/my_azure_deployment
api_base: os.environ/AZURE_API_BASE
api_key: os.environ/AZURE_API_KEY
api_version: "2025-01-01-preview"
general_settings:
master_key: sk-1234 # 🔑 your proxy admin key (must start with sk-)
database_url: "postgresql://<user>:<password>@<host>:<port>/<dbname>" # 👈 required for virtual keys
```
:::tip
`database_url` is required for virtual keys, spend tracking, and the UI. Use [Supabase](https://supabase.com/) or [Neon](https://neon.tech/) for a free managed Postgres instance.
:::
Get the docker compose file and create your `.env`:
```bash
# Get the docker compose file
@@ -46,16 +81,55 @@ curl -O https://raw.githubusercontent.com/BerriAI/litellm/main/docker-compose.ym
# Add the master key - you can change this after setup
echo 'LITELLM_MASTER_KEY="sk-1234"' > .env
# Add the litellm salt key - you cannot change this after adding a model
# It is used to encrypt / decrypt your LLM API Key credentials
# We recommend - https://1password.com/password-generator/
# password generator to get a random hash for litellm salt key
# Add the litellm salt key cannot be changed after adding a model
# Used to encrypt/decrypt your LLM API key credentials
# Generate a strong random value: https://1password.com/password-generator/
echo 'LITELLM_SALT_KEY="sk-1234"' >> .env
```
# Start
---
### Step 3 — Start the proxy server and test it
```bash
docker compose up
```
Once running, test it with a curl request:
```bash
curl -X POST 'http://0.0.0.0:4000/chat/completions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-1234' \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Hello!"}]
}'
```
**Expected response:**
```json
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"choices": [{"message": {"role": "assistant", "content": "Hello! How can I help you?"}, "finish_reason": "stop"}],
"usage": {"prompt_tokens": 10, "completion_tokens": 9, "total_tokens": 19}
}
```
---
### Optional — Navigate to the LiteLLM UI and generate a virtual key
Open [http://localhost:4000/ui](http://localhost:4000/ui) in your browser and log in with your master key (`sk-1234`).
Navigate to **Virtual Keys** and click **+ Create New Key**:
<Image img={require('../../img/litellm_ui_create_key.png')} alt="LiteLLM UI — Create Virtual Key" />
Virtual keys let you track spend, set rate limits, and control model access per user or team.
</TabItem>
</Tabs>
@@ -647,4 +721,3 @@ LiteLLM Proxy uses the [LiteLLM Python SDK](https://docs.litellm.ai/docs/routing
[![Chat on WhatsApp](https://img.shields.io/static/v1?label=Chat%20on&message=WhatsApp&color=success&logo=WhatsApp&style=flat-square)](https://wa.link/huol9n) [![Chat on Discord](https://img.shields.io/static/v1?label=Chat%20on&message=Discord&color=blue&logo=Discord&style=flat-square)](https://discord.gg/wuPM9dRgDw)
+104 -107
View File
@@ -44,70 +44,39 @@ const sidebars = {
},
{
type: "category",
label: "Guardrails",
label: "Guardrail Providers",
items: [
"proxy/guardrails/quick_start",
"proxy/guardrails/team_based_guardrails",
"proxy/guardrails/guardrail_load_balancing",
"proxy/guardrails/test_playground",
"proxy/guardrails/litellm_content_filter",
"proxy/guardrails/realtime_guardrails",
{
type: "category",
label: "Providers",
items: [
...[
"proxy/guardrails/qualifire",
"proxy/guardrails/aim_security",
"proxy/guardrails/onyx_security",
"proxy/guardrails/aporia_api",
"proxy/guardrails/azure_content_guardrail",
"proxy/guardrails/bedrock",
"proxy/guardrails/crowdstrike_aidr",
"proxy/guardrails/enkryptai",
"proxy/guardrails/ibm_guardrails",
"proxy/guardrails/grayswan",
"proxy/guardrails/hiddenlayer",
"proxy/guardrails/lasso_security",
"proxy/guardrails/guardrails_ai",
"proxy/guardrails/lakera_ai",
"proxy/guardrails/model_armor",
"proxy/guardrails/noma_security",
"proxy/guardrails/dynamoai",
"proxy/guardrails/openai_moderation",
"proxy/guardrails/pangea",
"proxy/guardrails/pillar_security",
"proxy/guardrails/pii_masking_v2",
"proxy/guardrails/panw_prisma_airs",
"proxy/guardrails/secret_detection",
"proxy/guardrails/custom_guardrail",
"proxy/guardrails/custom_code_guardrail",
"proxy/guardrails/prompt_injection",
"proxy/guardrails/tool_permission",
"proxy/guardrails/zscaler_ai_guard",
"proxy/guardrails/javelin"
].sort(),
],
},
{
type: "category",
label: "Contributing to Guardrails",
items: [
"adding_provider/generic_guardrail_api",
"adding_provider/simple_guardrail_tutorial",
"adding_provider/adding_guardrail_support",
]
},
],
},
{
type: "category",
label: "Policies",
items: [
"proxy/guardrails/guardrail_policies",
"proxy/guardrails/policy_flow_builder",
"proxy/guardrails/policy_templates",
"proxy/guardrails/policy_tags",
...[
"proxy/guardrails/qualifire",
"proxy/guardrails/aim_security",
"proxy/guardrails/onyx_security",
"proxy/guardrails/aporia_api",
"proxy/guardrails/azure_content_guardrail",
"proxy/guardrails/bedrock",
"proxy/guardrails/crowdstrike_aidr",
"proxy/guardrails/enkryptai",
"proxy/guardrails/ibm_guardrails",
"proxy/guardrails/grayswan",
"proxy/guardrails/hiddenlayer",
"proxy/guardrails/lasso_security",
"proxy/guardrails/guardrails_ai",
"proxy/guardrails/lakera_ai",
"proxy/guardrails/model_armor",
"proxy/guardrails/noma_security",
"proxy/guardrails/dynamoai",
"proxy/guardrails/openai_moderation",
"proxy/guardrails/pangea",
"proxy/guardrails/pillar_security",
"proxy/guardrails/pii_masking_v2",
"proxy/guardrails/panw_prisma_airs",
"proxy/guardrails/secret_detection",
"proxy/guardrails/custom_guardrail",
"proxy/guardrails/custom_code_guardrail",
"proxy/guardrails/prompt_injection",
"proxy/guardrails/tool_permission",
"proxy/guardrails/zscaler_ai_guard",
"proxy/guardrails/javelin"
].sort(),
],
},
{
@@ -293,11 +262,6 @@ const sidebars = {
},
"completion/token_usage",
"exception_mapping",
{
type: "category",
label: "LangChain, LlamaIndex, Instructor",
items: ["langchain/langchain", "tutorials/instructor"],
}
],
},
{
@@ -310,16 +274,41 @@ const sidebars = {
slug: "/simple_proxy",
},
items: [
"proxy/docker_quick_start",
{ type: "doc", id: "proxy/docker_quick_start", label: "Getting Started Tutorial" },
{
type: "link",
label: "A2A Agent Gateway",
href: "https://docs.litellm.ai/docs/a2a",
},
{
type: "link",
label: "MCP Gateway",
href: "https://docs.litellm.ai/docs/mcp",
type: "category",
label: "Agent & MCP Gateway",
items: [
{
type: "category",
label: "A2A Agent Gateway",
items: [
"a2a",
"a2a_invoking_agents",
"a2a_agent_headers",
"a2a_cost_tracking",
"a2a_agent_permissions",
"a2a_iteration_budgets",
],
},
{
type: "category",
label: "MCP Gateway",
items: [
"mcp",
"mcp_usage",
"mcp_openapi",
"mcp_oauth",
"mcp_aws_sigv4",
"mcp_public_internet",
"mcp_semantic_filter",
"mcp_control",
"mcp_cost",
"mcp_guardrail",
"mcp_troubleshoot",
],
},
],
},
{
"type": "category",
@@ -461,14 +450,40 @@ const sidebars = {
},
"proxy/caching",
{
type: "link",
type: "category",
label: "Guardrails",
href: "https://docs.litellm.ai/docs/proxy/guardrails/quick_start",
items: [
"proxy/guardrails/quick_start",
"proxy/guardrails/team_based_guardrails",
"proxy/guardrails/guardrail_load_balancing",
"proxy/guardrails/test_playground",
"proxy/guardrails/litellm_content_filter",
"proxy/guardrails/realtime_guardrails",
{
type: "link",
label: "Providers →",
href: "/docs/integrations#guardrail-providers",
},
{
type: "category",
label: "Contributing to Guardrails",
items: [
"adding_provider/generic_guardrail_api",
"adding_provider/simple_guardrail_tutorial",
"adding_provider/adding_guardrail_support",
]
},
],
},
{
type: "link",
type: "category",
label: "Policies",
href: "https://docs.litellm.ai/docs/proxy/guardrails/guardrail_policies",
items: [
"proxy/guardrails/guardrail_policies",
"proxy/guardrails/policy_flow_builder",
"proxy/guardrails/policy_templates",
"proxy/guardrails/policy_tags",
],
},
{
type: "category",
@@ -564,16 +579,9 @@ const sidebars = {
},
items: [
{
type: "category",
type: "link",
label: "/a2a - A2A Agent Gateway",
items: [
"a2a",
"a2a_invoking_agents",
"a2a_agent_headers",
"a2a_cost_tracking",
"a2a_agent_permissions",
"a2a_iteration_budgets"
],
href: "/docs/simple_proxy#agent--mcp-gateway",
},
"assistants",
"audio_transcription",
@@ -636,21 +644,9 @@ const sidebars = {
"vector_stores/create",
"vector_stores/search",
{
type: "category",
type: "link",
label: "/mcp - Model Context Protocol",
items: [
"mcp",
"mcp_usage",
"mcp_openapi",
"mcp_oauth",
"mcp_aws_sigv4",
"mcp_public_internet",
"mcp_semantic_filter",
"mcp_control",
"mcp_cost",
"mcp_guardrail",
"mcp_troubleshoot",
]
href: "/docs/simple_proxy#agent--mcp-gateway",
},
{
type: "category",
@@ -990,10 +986,10 @@ const sidebars = {
{
type: "category",
label: "Routing, Loadbalancing & Fallbacks",
label: "Routing & Load Balancing",
link: {
type: "generated-index",
title: "Routing, Loadbalancing & Fallbacks",
title: "Routing & Load Balancing",
description: "Learn how to load balance, route, and set fallbacks for your LLM requests",
slug: "/routing-load-balancing",
},
@@ -1232,7 +1228,8 @@ const learnSidebar = {
"tutorials/copilotkit_sdk",
"tutorials/google_adk",
"tutorials/livekit_xai_realtime",
"tutorials/instructor",
{ type: "doc", id: "tutorials/instructor", label: "Instructor with LiteLLM" },
{ type: "doc", id: "langchain/langchain", label: "LangChain with LiteLLM" },
],
},
{