--- title: "LiteLLM SDK" description: "Use Bifrost as a drop-in proxy for LiteLLM applications with zero code changes." icon: "train" --- Since LiteLLM already provides multi-provider abstraction, Bifrost adds enterprise features like governance, semantic caching, MCP tools, observability, etc, on top of your existing setup. **Endpoint:** `/litellm` **Provider Compatibility:** This integration only works for AI providers that both LiteLLM and Bifrost support. If you're using a provider specific to LiteLLM that Bifrost doesn't support (or vice versa), those requests will fail. --- ## Setup ```python {7} from litellm import completion # Configure client to use Bifrost response = completion( model="gpt-4o-mini", messages=[{"role": "user", "content": "Hello!"}], base_url="http://localhost:8080/litellm" # Point to Bifrost ) print(response.choices[0].message.content) ``` --- ## Provider/Model Usage Examples Your existing LiteLLM provider switching works unchanged through Bifrost: ```python {4} from litellm import completion # All your existing LiteLLM patterns work the same base_url = "http://localhost:8080/litellm" # OpenAI models openai_response = completion( model="gpt-4o-mini", messages=[{"role": "user", "content": "Hello GPT!"}], base_url=base_url ) # Anthropic models anthropic_response = completion( model="claude-3-sonnet-20240229", messages=[{"role": "user", "content": "Hello Claude!"}], base_url=base_url ) # Google models google_response = completion( model="gemini/gemini-1.5-flash", messages=[{"role": "user", "content": "Hello Gemini!"}], base_url=base_url ) # Azure models azure_response = completion( model="azure/gpt-4o", messages=[{"role": "user", "content": "Hello Azure!"}], base_url=base_url ) ``` --- ## Adding Custom Headers Add Bifrost-specific headers for governance and tracking: ```python from litellm import completion # Add custom headers for Bifrost features response = completion( model="gpt-4o-mini", messages=[{"role": "user", "content": "Hello!"}], base_url="http://localhost:8080/litellm", extra_headers={ "x-bf-vk": "your-virtual-key", # Virtual key for governance } ) print(response.choices[0].message.content) ``` --- ## Using Direct Keys Pass API keys directly to bypass Bifrost's key management. You can pass any provider's API key since Bifrost only looks for `Authorization` or `x-api-key` headers. This requires the **Allow Direct API keys** option to be enabled in Bifrost configuration. > **Learn more:** See [Key Management](../features/keys-management#direct-key-bypass) for enabling direct API key usage. ```python from litellm import completion # Using OpenAI key directly openai_response = completion( model="gpt-4o-mini", messages=[{"role": "user", "content": "Hello GPT!"}], base_url="http://localhost:8080/litellm", extra_headers={ "Authorization": "Bearer sk-your-openai-key" } ) # Using Anthropic key for Claude models anthropic_response = completion( model="claude-3-sonnet-20240229", messages=[{"role": "user", "content": "Hello Claude!"}], base_url="http://localhost:8080/litellm", extra_headers={ "x-api-key": "sk-ant-your-anthropic-key" } ) # Using Azure with direct Azure key import os deployment = os.getenv("AZURE_OPENAI_DEPLOYMENT", "my-azure-deployment") model = f"azure/{deployment}" azure_response = completion( model=model, messages=[{"role": "user", "content": "Hello from LiteLLM (Azure demo)!"}], base_url="http://localhost:8080/litellm", api_key=os.getenv("AZURE_API_KEY", "your-azure-api-key"), deployment_id=os.getenv("AZURE_OPENAI_DEPLOYMENT", "gpt-4o-aug"), max_tokens=100, extra_headers={ "x-bf-azure-endpoint": "https://your-resource.openai.azure.com", } ) ``` --- ## Supported Features The LiteLLM integration supports all features that are available in both the LiteLLM SDK and Bifrost core functionality. Your existing LiteLLM code works seamlessly with Bifrost's enterprise features. 😄 --- ## Next Steps - **[Governance Features](../features/governance)** - Virtual keys and team management - **[Semantic Caching](../features/semantic-caching)** - Intelligent response caching - **[Configuration](../quickstart/README)** - Provider setup and API key management