Build production-ready voice AI agents with Portkey’s enterprise features
Realtime API support is coming soon! Join our Discord community to be the first to know when LiveKit’s realtime model integration with Portkey is available.
LiveKit is a powerful platform for building real-time voice and video applications. When combined with Portkey, you get enterprise-grade features that make your LiveKit voice agents production-ready:
This guide will walk you through integrating Portkey with LiveKit’s STT-LLM-TTS pipeline to build enterprise-ready voice AI agents.
If you are an enterprise looking to deploy LiveKit agents in production, check out this section.
Portkey allows you to use 250+ LLMs with your LiveKit agents, with minimal configuration required. Let’s set up the core components in Portkey that you’ll need for integration.
Create Virtual Key
Virtual Keys are Portkey’s secure way to manage your LLM provider API keys. For LiveKit integration, you’ll need to create a virtual key for OpenAI (or any other LLM provider you prefer).
To create a virtual key:
Save your virtual key ID - you’ll need it for the next step.
Create Default Config
Configs in Portkey define how your requests are routed and can enable features like fallbacks, caching, and more.
To create your config:
This basic config connects to your virtual key. You can add advanced features like caching, fallbacks, and guardrails later.
Configure Portkey API Key
Now create a Portkey API key and attach the config you created:
Save your API key securely - you’ll need it for LiveKit integration.
Now that you have your Portkey components set up, let’s integrate them with LiveKit agents.
Install the required packages:
Make sure your Portkey virtual key has sufficient budget and rate limits for your expected usage.
Build a simple voice assistant with Python in less than 10 minutes.
Setup
Add your .env file
Full STT-to-TTS agent code
Why Enterprise Governance? If you are using Livekit inside your orgnaization, you need to consider several governance aspects:
Portkey adds a comprehensive governance layer to address these enterprise needs. Let’s implement these controls step by step.
Enterprise Implementation Guide
Step 1: Implement Budget Controls & Rate Limits
Virtual Keys enable granular control over LLM access at the team/department level. This helps you:
Step 2: Define Model Access Rules
As your AI usage scales, controlling which teams can access specific models becomes crucial. Portkey Configs provide this control layer with features like:
Here’s a basic configuration to route requests to OpenAI, specifically using GPT-4o:
Create your config on the Configs page in your Portkey dashboard. You’ll need the config ID for connecting to Livekit’s setup.
Configs can be updated anytime to adjust controls without affecting running applications.
Step 3: Implement Access Controls
Create User-specific API keys that automatically:
Create API keys through:
Example using Python SDK:
For detailed key management instructions, see our API Keys documentation.
Step 4: Deploy & Monitor
After distributing API keys to your team members, your enterprise-ready Livekit setup is ready to go. Each team member can now use their designated API keys with appropriate access levels and budget controls. Apply your governance setup using the integration steps from earlier sections Monitor usage in Portkey dashboard:
Livekit now has:
Now that you have enterprise-grade Livekit setup, let’s explore the comprehensive features Portkey provides to ensure secure, efficient, and cost-effective AI operations.
Using Portkey you can track 40+ key metrics including cost, token usage, response time, and performance across all your LLM providers in real time. You can also filter these metrics based on custom metadata that you can set in your configs. Learn more about metadata here.
Portkey’s logging dashboard provides detailed logs for every request made to your LLMs. These logs include:
You can easily switch between 1600+ LLMs. Call various LLMs such as Anthropic, Gemini, Mistral, Azure OpenAI, Google Vertex AI, AWS Bedrock, and many more by simply changing the virtual key
in your default config
object.
Using Portkey, you can add custom metadata to your LLM requests for detailed tracking and analytics. Use metadata tags to filter logs, track usage, and attribute costs across departments and teams.
Set and manage spending limits across teams and departments. Control costs with granular budget limits and usage tracking.
Enterprise-grade SSO integration with support for SAML 2.0, Okta, Azure AD, and custom providers for secure authentication.
Hierarchical organization structure with workspaces, teams, and role-based access control for enterprise-scale deployments.
Comprehensive access control rules and detailed audit logging for security compliance and usage tracking.
Automatically switch to backup targets if the primary target fails.
Route requests to different targets based on specified conditions.
Distribute requests across multiple targets based on defined weights.
Enable caching of responses to improve performance and reduce costs.
Automatic retry handling with exponential backoff for failed requests
Set and manage budget limits across teams and departments. Control costs with granular budget limits and usage tracking.
Protect your Project’s data and enhance reliability with real-time checks on LLM inputs and outputs. Leverage guardrails to:
Implement real-time protection for your LLM interactions with automatic detection and filtering of sensitive content, PII, and custom security rules. Enable comprehensive data protection while maintaining compliance with organizational policies.
Can I use models other than OpenAI with LiveKit through Portkey?
Yes! Portkey supports 250+ LLMs. Simply create a virtual key for your preferred provider (Anthropic, Google, Cohere, etc.) and update your config accordingly. The LiveKit OpenAI client will work seamlessly with any provider through Portkey.
How do I track costs for different voice agents?
Use metadata tags when creating Portkey headers to segment costs:
agent_type
, department
, or customer_id
tagsWhat happens if my primary LLM provider goes down?
Configure fallbacks in your Portkey config to automatically switch to backup providers. Your LiveKit agents will continue working without any code changes or downtime.
Can I implement custom business logic for my agents?
Yes! Use Portkey’s hooks and guardrails to:
How do I migrate existing LiveKit agents to use Portkey?
Migration is simple:
Ready to build production voice AI?
For enterprise support and custom features for your LiveKit deployment, contact our enterprise team.