LiteLLM Router integration for Kamiwaza AI
Project description
LiteLLM Router Integration for Kamiwaza AI
This package provides a custom router for LiteLLM that integrates with Kamiwaza AI model deployments. The KamiwazaRouter extends LiteLLM's Router class to enable efficient routing of requests to Kamiwaza-deployed models.
Features
- Dynamic Model Discovery: Automatically discovers available models from Kamiwaza deployments
- Caching: Efficient caching of model lists with configurable TTL
- Model Pattern Filtering: Filter models based on name patterns (e.g., only use "72b" models)
- Static Model Configuration: Support for static model configurations alongside Kamiwaza models
- Fallback Routing: Automatic fallback between models in case of failures
Installation
pip install litellm-kamiwaza
Requirements
- Python 3.7+
- litellm>=1.0.0
- kamiwaza-client>=0.1.0
Usage
Basic Usage
from litellm_kamiwaza import KamiwazaRouter
# Initialize router with automatic Kamiwaza discovery
router = KamiwazaRouter()
# Use the router like a standard litellm Router
response = router.completion(
model="deployed-model-name",
messages=[{"role": "user", "content": "Hello, world!"}]
)
Configuration Options
Environment Variables
KAMIWAZA_API_URL: URL for the Kamiwaza APIKAMIWAZA_URL_LIST: Comma-separated list of Kamiwaza URLsKAMIWAZA_VERIFY_SSL: Set to "true" to enable SSL verification (default: "false")
Router Configuration
# Initialize with specific Kamiwaza URL
router = KamiwazaRouter(
kamiwaza_api_url="http://my-kamiwaza-server.com",
cache_ttl_seconds=600, # Cache model list for 10 minutes
model_pattern="72b", # Only use models with "72b" in their name
)
# Initialize with static model list alongside Kamiwaza models
router = KamiwazaRouter(
model_list=[
{
"model_name": "my-static-model",
"litellm_params": {
"model": "openai/gpt-4",
"api_key": "sk-your-api-key"
}
}
]
)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file litellm_kamiwaza-0.1.0.tar.gz.
File metadata
- Download URL: litellm_kamiwaza-0.1.0.tar.gz
- Upload date:
- Size: 12.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
122737fdb7f8d1e76aa3acf22693e35c88d6fa24a26d43e02c023621a400dd74
|
|
| MD5 |
71a68d0107875c670e8a4fab0d4b4028
|
|
| BLAKE2b-256 |
4399ad8a84158217326820f892f84dba79bc63aca32808371e088ce0834070af
|
File details
Details for the file litellm_kamiwaza-0.1.0-py3-none-any.whl.
File metadata
- Download URL: litellm_kamiwaza-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d26072627016c5e4260d926e637cad847a6899f42f22f39df41f29c13f968789
|
|
| MD5 |
39de21c48173c25a7141de2a6111987e
|
|
| BLAKE2b-256 |
b021c53585e41499fca766aa4111f91e600f6de13acc615c5c0a6e1ffdb085d8
|