Commit dbb5d305 authored by Your Name's avatar Your Name

Add user cache setting support to OpenAI and Kilo providers

- Check user cache settings before enabling prompt caching
- Same pattern as implemented for Claude provider
- Users can disable cache per provider/model
- Fixes issue where other providers didn't respect user cache settings
parent 5b5cea4c
......@@ -292,6 +292,18 @@ class KiloProviderHandler(BaseProviderHandler):
enable_native_caching = getattr(provider_config, 'enable_native_caching', False)
min_cacheable_tokens = getattr(provider_config, 'min_cacheable_tokens', 1024)
prompt_cache_key = getattr(provider_config, 'prompt_cache_key', None)
# Check user's cache settings (overrides provider config)
if enable_native_caching and hasattr(self, 'user_id'):
try:
from aisbf.database import DatabaseRegistry
db = DatabaseRegistry.get_config_database()
user_setting = db.get_user_cache_settings(self.user_id, self.provider_id, model)
if not user_setting['cache_enabled']:
enable_native_caching = False
logging.info(f"User {self.user_id} disabled cache for provider={self.provider_id}, model={model}")
except Exception as e:
logging.warning(f"Error checking user cache settings: {e}")
logging.info(f"KiloProviderHandler: Native caching enabled: {enable_native_caching}")
if enable_native_caching:
......
......@@ -59,6 +59,18 @@ class OpenAIProviderHandler(BaseProviderHandler):
enable_native_caching = getattr(provider_config, 'enable_native_caching', False)
min_cacheable_tokens = getattr(provider_config, 'min_cacheable_tokens', 1024)
prompt_cache_key = getattr(provider_config, 'prompt_cache_key', None)
# Check user's cache settings (overrides provider config)
if enable_native_caching and hasattr(self, 'user_id'):
try:
from aisbf.database import DatabaseRegistry
db = DatabaseRegistry.get_config_database()
user_setting = db.get_user_cache_settings(self.user_id, self.provider_id, model)
if not user_setting['cache_enabled']:
enable_native_caching = False
logging.info(f"User {self.user_id} disabled cache for provider={self.provider_id}, model={model}")
except Exception as e:
logging.warning(f"Error checking user cache settings: {e}")
logging.info(f"OpenAIProviderHandler: Native caching enabled: {enable_native_caching}")
if enable_native_caching:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment