mirror of
https://github.com/Aider-AI/aider.git
synced 2025-06-01 02:05:00 +00:00
refactor: Move ChatChunks class to its own file
This commit is contained in:
parent
07a939e0da
commit
9928d5269b
1 changed files with 53 additions and 0 deletions
|
@ -0,0 +1,53 @@
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ChatChunks:
|
||||||
|
system: List = field(default_factory=list)
|
||||||
|
examples: List = field(default_factory=list)
|
||||||
|
done: List = field(default_factory=list)
|
||||||
|
repo: List = field(default_factory=list)
|
||||||
|
readonly_files: List = field(default_factory=list)
|
||||||
|
chat_files: List = field(default_factory=list)
|
||||||
|
cur: List = field(default_factory=list)
|
||||||
|
reminder: List = field(default_factory=list)
|
||||||
|
|
||||||
|
def all_messages(self):
|
||||||
|
return (
|
||||||
|
self.system
|
||||||
|
+ self.examples
|
||||||
|
+ self.readonly_files
|
||||||
|
+ self.repo
|
||||||
|
+ self.done
|
||||||
|
+ self.chat_files
|
||||||
|
+ self.cur
|
||||||
|
+ self.reminder
|
||||||
|
)
|
||||||
|
|
||||||
|
def add_cache_control_headers(self):
|
||||||
|
if self.examples:
|
||||||
|
self.add_cache_control(self.examples)
|
||||||
|
else:
|
||||||
|
self.add_cache_control(self.system)
|
||||||
|
|
||||||
|
if self.readonly_files:
|
||||||
|
self.add_cache_control(self.readonly_files)
|
||||||
|
else:
|
||||||
|
self.add_cache_control(self.repo)
|
||||||
|
|
||||||
|
self.add_cache_control(self.chat_files)
|
||||||
|
|
||||||
|
def add_cache_control(self, messages):
|
||||||
|
if not messages:
|
||||||
|
return
|
||||||
|
|
||||||
|
content = messages[-1]["content"]
|
||||||
|
if type(content) is str:
|
||||||
|
content = dict(
|
||||||
|
type="text",
|
||||||
|
text=content,
|
||||||
|
)
|
||||||
|
content["cache_control"] = {"type": "ephemeral"}
|
||||||
|
|
||||||
|
messages[-1]["content"] = [content]
|
Loading…
Add table
Add a link
Reference in a new issue