From e94e60b1d2a78ed2d9c05715d701e9d9d5616677 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Wed, 30 Oct 2024 14:29:29 -0700 Subject: [PATCH] refactor: improve model name redaction in analytics and model info handling --- aider/analytics.py | 4 +++- aider/coders/base_coder.py | 2 +- aider/models.py | 7 ++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/aider/analytics.py b/aider/analytics.py index c492506a9..87bb29c29 100644 --- a/aider/analytics.py +++ b/aider/analytics.py @@ -114,7 +114,9 @@ class Analytics: properties = {} if main_model: - if main_model.info: + # Redact the main model name unless it is in the public litellm db + info = model_info_manager.get_model_from_cached_json_db(main_model.name) + if info: properties["main_model"] = main_model.name elif "/" in main_model.name: properties["main_model"] = main_model.name.split("/")[0] + "/REDACTED" diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 249118f4b..94d9b25e1 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -266,7 +266,7 @@ class Coder: suggest_shell_commands=True, chat_language=None, ): - self.analytics = analytics if analytics is not None else Analytics(enable=False) + self.analytics = analytics if analytics is not None else Analytics() self.event = self.analytics.event self.chat_language = chat_language self.commit_before_message = [] diff --git a/aider/models.py b/aider/models.py index 20d977983..78a7cec9d 100644 --- a/aider/models.py +++ b/aider/models.py @@ -691,9 +691,10 @@ class ModelInfoManager: return dict() def get_model_info(self, model): - info = self.get_model_from_cached_json_db(model) - if info: - return info + if not litellm._lazy_module: + info = self.get_model_from_cached_json_db(model) + if info: + return info # If all else fails, do it the slow way... try: