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
......@@ -293,6 +293,18 @@ class KiloProviderHandler(BaseProviderHandler):
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:
logging.info(f"KiloProviderHandler: Min cacheable tokens: {min_cacheable_tokens}, prompt_cache_key: {prompt_cache_key}")
......
......@@ -60,6 +60,18 @@ class OpenAIProviderHandler(BaseProviderHandler):
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:
logging.info(f"OpenAIProviderHandler: Min cacheable tokens: {min_cacheable_tokens}, prompt_cache_key: {prompt_cache_key}")
......
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