mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 16:54:59 +00:00
refactor: Split summarize method and add model metadata handling
This commit is contained in:
parent
73bc0f6258
commit
dff544cd5d
6 changed files with 38 additions and 3 deletions
|
@ -26,6 +26,12 @@ class ChatSummary:
|
|||
return sized
|
||||
|
||||
def summarize(self, messages, depth=0):
|
||||
messages = self.summarize_real(messages)
|
||||
if messages and messages[-1]["role"] != "assistant":
|
||||
messages.append(dict(role="assistant", content="Ok."))
|
||||
return messages
|
||||
|
||||
def summarize_real(self, messages, depth=0):
|
||||
if not self.models:
|
||||
raise ValueError("No models available for summarization")
|
||||
|
||||
|
@ -88,7 +94,7 @@ class ChatSummary:
|
|||
if summary_tokens + tail_tokens < self.max_tokens:
|
||||
return result
|
||||
|
||||
return self.summarize(result, depth + 1)
|
||||
return self.summarize_real(result, depth + 1)
|
||||
|
||||
def summarize_all(self, messages):
|
||||
content = ""
|
||||
|
|
|
@ -625,6 +625,7 @@ MODEL_SETTINGS = [
|
|||
ModelSettings(
|
||||
"deepseek/deepseek-reasoner",
|
||||
"diff",
|
||||
weak_model_name="deepseek/deepseek-chat",
|
||||
editor_model_name="deepseek/deepseek-chat",
|
||||
editor_edit_format="editor-diff",
|
||||
use_repo_map=True,
|
||||
|
|
|
@ -1,2 +1,18 @@
|
|||
{
|
||||
"deepseek-reasoner": {
|
||||
"max_tokens": 8192,
|
||||
"max_input_tokens": 128000,
|
||||
"max_output_tokens": 8192,
|
||||
"input_cost_per_token": 0.00000055,
|
||||
"input_cost_per_token_cache_hit": 0.00000014,
|
||||
"cache_read_input_token_cost": 0.00000014,
|
||||
"cache_creation_input_token_cost": 0.0,
|
||||
"output_cost_per_token": 0.00000219,
|
||||
"litellm_provider": "deepseek",
|
||||
"mode": "chat",
|
||||
//"supports_function_calling": true,
|
||||
"supports_assistant_prefill": true,
|
||||
//"supports_tool_choice": true,
|
||||
"supports_prompt_caching": true
|
||||
},
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import time
|
|||
from aider.dump import dump # noqa: F401
|
||||
from aider.exceptions import LiteLLMExceptions
|
||||
from aider.llm import litellm
|
||||
from aider.utils import format_messages
|
||||
|
||||
# from diskcache import Cache
|
||||
|
||||
|
@ -30,7 +31,9 @@ def sanity_check_messages(messages):
|
|||
continue
|
||||
|
||||
if last_role and role == last_role:
|
||||
return False
|
||||
print(format_messages(messages))
|
||||
# import sys ; sys.exit()
|
||||
raise ValueError("Messages don't properly alternate user/assistant")
|
||||
|
||||
last_role = role
|
||||
last_non_system_role = role
|
||||
|
@ -47,6 +50,8 @@ def send_completion(
|
|||
temperature=0,
|
||||
extra_params=None,
|
||||
):
|
||||
# sanity_check_messages(messages)
|
||||
|
||||
kwargs = dict(
|
||||
model=model_name,
|
||||
messages=messages,
|
||||
|
|
|
@ -112,7 +112,7 @@ def format_messages(messages, title=None):
|
|||
output.append(f"{title.upper()} {'*' * 50}")
|
||||
|
||||
for msg in messages:
|
||||
output.append("")
|
||||
output.append("-------")
|
||||
role = msg["role"].upper()
|
||||
content = msg.get("content")
|
||||
if isinstance(content, list): # Handle list content (e.g., image messages)
|
||||
|
|
|
@ -16,6 +16,7 @@ from types import SimpleNamespace
|
|||
from typing import List, Optional
|
||||
|
||||
import git
|
||||
import importlib_resources
|
||||
import lox
|
||||
import pandas as pd
|
||||
import prompts
|
||||
|
@ -737,6 +738,10 @@ def run_test_real(
|
|||
chat_history_file=history_fname,
|
||||
)
|
||||
|
||||
resource_metadata = importlib_resources.files("aider.resources").joinpath("model-metadata.json")
|
||||
model_metadata_files_loaded = models.register_litellm_models([resource_metadata])
|
||||
dump(model_metadata_files_loaded)
|
||||
|
||||
# weak_model_name = model_name
|
||||
weak_model_name = None
|
||||
|
||||
|
@ -747,6 +752,8 @@ def run_test_real(
|
|||
editor_edit_format=editor_edit_format,
|
||||
)
|
||||
|
||||
dump(main_model.max_chat_history_tokens)
|
||||
|
||||
if num_ctx:
|
||||
if not main_model.extra_params:
|
||||
main_model.extra_params = {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue