From 1ec02d7c7307a16a4cdada24951ddb9cd6251727 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Tue, 20 Aug 2024 12:45:56 -0700 Subject: [PATCH 1/6] Note that --map-tokens is suggested not max tokens --- aider/args.py | 2 +- aider/website/assets/sample.aider.conf.yml | 2 +- aider/website/assets/sample.env | 2 +- aider/website/docs/config/aider_conf.md | 2 +- aider/website/docs/config/dotenv.md | 2 +- aider/website/docs/config/options.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/aider/args.py b/aider/args.py index d1b6e581d..eb1bb71d3 100644 --- a/aider/args.py +++ b/aider/args.py @@ -199,7 +199,7 @@ def get_parser(default_config_files, git_root): "--map-tokens", type=int, default=None, - help="Max number of tokens to use for repo map, use 0 to disable (default: 1024)", + help="Suggested number of tokens to use for repo map, use 0 to disable (default: 1024)", ) group.add_argument( "--map-refresh", diff --git a/aider/website/assets/sample.aider.conf.yml b/aider/website/assets/sample.aider.conf.yml index bb10ae227..d02fdf878 100644 --- a/aider/website/assets/sample.aider.conf.yml +++ b/aider/website/assets/sample.aider.conf.yml @@ -89,7 +89,7 @@ ## Only work with models that have meta-data available (default: True) #show-model-warnings: true -## Max number of tokens to use for repo map, use 0 to disable (default: 1024) +## Suggested number of tokens to use for repo map, use 0 to disable (default: 1024) #map-tokens: ## Control how often the repo map is refreshed (default: auto) diff --git a/aider/website/assets/sample.env b/aider/website/assets/sample.env index 197595e30..24da861bf 100644 --- a/aider/website/assets/sample.env +++ b/aider/website/assets/sample.env @@ -93,7 +93,7 @@ ## Only work with models that have meta-data available (default: True) #AIDER_SHOW_MODEL_WARNINGS=true -## Max number of tokens to use for repo map, use 0 to disable (default: 1024) +## Suggested number of tokens to use for repo map, use 0 to disable (default: 1024) #AIDER_MAP_TOKENS= ## Control how often the repo map is refreshed (default: auto) diff --git a/aider/website/docs/config/aider_conf.md b/aider/website/docs/config/aider_conf.md index 3cd0a5251..9338ea782 100644 --- a/aider/website/docs/config/aider_conf.md +++ b/aider/website/docs/config/aider_conf.md @@ -128,7 +128,7 @@ cog.outl("```") ## Only work with models that have meta-data available (default: True) #show-model-warnings: true -## Max number of tokens to use for repo map, use 0 to disable (default: 1024) +## Suggested number of tokens to use for repo map, use 0 to disable (default: 1024) #map-tokens: ## Control how often the repo map is refreshed (default: auto) diff --git a/aider/website/docs/config/dotenv.md b/aider/website/docs/config/dotenv.md index 916e9f435..4c3067ed1 100644 --- a/aider/website/docs/config/dotenv.md +++ b/aider/website/docs/config/dotenv.md @@ -135,7 +135,7 @@ cog.outl("```") ## Only work with models that have meta-data available (default: True) #AIDER_SHOW_MODEL_WARNINGS=true -## Max number of tokens to use for repo map, use 0 to disable (default: 1024) +## Suggested number of tokens to use for repo map, use 0 to disable (default: 1024) #AIDER_MAP_TOKENS= ## Control how often the repo map is refreshed (default: auto) diff --git a/aider/website/docs/config/options.md b/aider/website/docs/config/options.md index b6ec80131..8ce622c84 100644 --- a/aider/website/docs/config/options.md +++ b/aider/website/docs/config/options.md @@ -188,7 +188,7 @@ Aliases: - `--no-show-model-warnings` ### `--map-tokens VALUE` -Max number of tokens to use for repo map, use 0 to disable (default: 1024) +Suggested number of tokens to use for repo map, use 0 to disable (default: 1024) Environment variable: `AIDER_MAP_TOKENS` ### `--map-refresh VALUE` From 87d9a559cb83511f699316e2ae0f7c46810aaea7 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 20 Aug 2024 12:52:23 -0700 Subject: [PATCH 2/6] feat: Add --map-multiplier-no-files switch with default value of 2 --- aider/args.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/aider/args.py b/aider/args.py index eb1bb71d3..a77d28040 100644 --- a/aider/args.py +++ b/aider/args.py @@ -213,6 +213,12 @@ def get_parser(default_config_files, git_root): default=False, help="Enable caching of prompts (default: False)", ) + group.add_argument( + "--map-multiplier-no-files", + type=float, + default=2, + help="Multiplier for map tokens when no files are specified (default: 2)", + ) group.add_argument( "--max-chat-history-tokens", type=int, From 3ab32652399e9b02fda99860ec2c443d69b774ce Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 20 Aug 2024 12:53:17 -0700 Subject: [PATCH 3/6] feat: Pass map_multiplier_no_files argument from Coder into RepoMap --- aider/coders/base_coder.py | 2 +- aider/main.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 97354fec3..27110e0f2 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -424,7 +424,7 @@ class Coder: self.gpt_prompts.repo_content_prefix, self.verbose, max_inp_tokens, - map_mul_no_files=map_mul_no_files, + map_mul_no_files=map_multiplier_no_files, refresh=map_refresh, ) diff --git a/aider/main.py b/aider/main.py index 161438c1a..8232db9fc 100644 --- a/aider/main.py +++ b/aider/main.py @@ -537,6 +537,7 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F summarizer=summarizer, map_refresh=args.map_refresh, cache_prompts=args.cache_prompts, + map_multiplier_no_files=args.map_multiplier_no_files, ) except ValueError as err: io.tool_error(str(err)) From 9b59c8896ac9c69fbef958ff14219470c2fe306b Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Tue, 20 Aug 2024 12:54:16 -0700 Subject: [PATCH 4/6] fix: Set map_multiplier_no_files attribute on Coder class --- aider/coders/base_coder.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 27110e0f2..352110e20 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -131,6 +131,7 @@ class Coder: message_tokens_sent = 0 message_tokens_received = 0 add_cache_headers = False + map_multiplier_no_files = 8 @classmethod def create( @@ -424,7 +425,7 @@ class Coder: self.gpt_prompts.repo_content_prefix, self.verbose, max_inp_tokens, - map_mul_no_files=map_multiplier_no_files, + map_mul_no_files=self.map_multiplier_no_files, refresh=map_refresh, ) From 425dc0b99a7f1215510c3f781eb43abeb0992122 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Tue, 20 Aug 2024 12:54:17 -0700 Subject: [PATCH 5/6] fix: Add map_multiplier_no_files parameter to Coder.__init__ --- aider/coders/base_coder.py | 1 + 1 file changed, 1 insertion(+) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 352110e20..3275ac7cf 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -295,6 +295,7 @@ class Coder: map_refresh="auto", cache_prompts=False, ): + self.map_multiplier_no_files = map_mul_no_files self.commit_before_message = [] self.aider_commit_hashes = set() self.rejected_urls = set() From fc055a17c110eb912eed3106663d225dee8e0810 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Tue, 20 Aug 2024 12:59:54 -0700 Subject: [PATCH 6/6] fix: Remove unused `map_multiplier_no_files` attribute from `Coder` class --- aider/coders/base_coder.py | 4 +--- aider/main.py | 2 +- aider/repomap.py | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 3275ac7cf..97354fec3 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -131,7 +131,6 @@ class Coder: message_tokens_sent = 0 message_tokens_received = 0 add_cache_headers = False - map_multiplier_no_files = 8 @classmethod def create( @@ -295,7 +294,6 @@ class Coder: map_refresh="auto", cache_prompts=False, ): - self.map_multiplier_no_files = map_mul_no_files self.commit_before_message = [] self.aider_commit_hashes = set() self.rejected_urls = set() @@ -426,7 +424,7 @@ class Coder: self.gpt_prompts.repo_content_prefix, self.verbose, max_inp_tokens, - map_mul_no_files=self.map_multiplier_no_files, + map_mul_no_files=map_mul_no_files, refresh=map_refresh, ) diff --git a/aider/main.py b/aider/main.py index 8232db9fc..880b5b6a8 100644 --- a/aider/main.py +++ b/aider/main.py @@ -537,7 +537,7 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F summarizer=summarizer, map_refresh=args.map_refresh, cache_prompts=args.cache_prompts, - map_multiplier_no_files=args.map_multiplier_no_files, + map_mul_no_files=args.map_multiplier_no_files, ) except ValueError as err: io.tool_error(str(err)) diff --git a/aider/repomap.py b/aider/repomap.py index 53aed9f84..5f796bc1b 100644 --- a/aider/repomap.py +++ b/aider/repomap.py @@ -106,7 +106,7 @@ class RepoMap: padding = 4096 if max_map_tokens and self.max_context_window: target = min( - max_map_tokens * self.map_mul_no_files, + int(max_map_tokens * self.map_mul_no_files), self.max_context_window - padding, ) else: