diff options
Diffstat (limited to 'continuedev/src/continuedev/libs')
-rw-r--r-- | continuedev/src/continuedev/libs/util/count_tokens.py | 4 | ||||
-rw-r--r-- | continuedev/src/continuedev/libs/util/templating.py | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/continuedev/src/continuedev/libs/util/count_tokens.py b/continuedev/src/continuedev/libs/util/count_tokens.py index c81d8aa4..987aa722 100644 --- a/continuedev/src/continuedev/libs/util/count_tokens.py +++ b/continuedev/src/continuedev/libs/util/count_tokens.py @@ -1,7 +1,7 @@ import json from typing import Dict, List, Union from ...core.main import ChatMessage -from .templating import render_system_message +from .templating import render_templated_string import tiktoken aliases = { @@ -112,7 +112,7 @@ def compile_chat_messages(model: str, msgs: List[ChatMessage], max_tokens: int, if system_message is not None: # NOTE: System message takes second precedence to user prompt, so it is placed just before # but move back to start after processing - rendered_system_message = render_system_message(system_message) + rendered_system_message = render_templated_string(system_message) system_chat_msg = ChatMessage( role="system", content=rendered_system_message, summary=rendered_system_message) # insert at second-to-last position diff --git a/continuedev/src/continuedev/libs/util/templating.py b/continuedev/src/continuedev/libs/util/templating.py index ebfc2e31..bb922ad7 100644 --- a/continuedev/src/continuedev/libs/util/templating.py +++ b/continuedev/src/continuedev/libs/util/templating.py @@ -16,19 +16,19 @@ def escape_var(var: str) -> str: return var.replace(os.path.sep, '').replace('.', '') -def render_system_message(system_message: str) -> str: +def render_templated_string(template: str) -> str: """ - Render system message with mustache syntax. + Render system message or other templated string with mustache syntax. Right now it only supports rendering absolute file paths as their contents. """ - vars = get_vars_in_template(system_message) + vars = get_vars_in_template(template) args = {} for var in vars: if var.startswith(os.path.sep): # Escape vars which are filenames, because mustache doesn't allow / in variable names escaped_var = escape_var(var) - system_message = system_message.replace( + template = template.replace( var, escaped_var) if os.path.exists(var): @@ -36,4 +36,4 @@ def render_system_message(system_message: str) -> str: else: args[escaped_var] = '' - return chevron.render(system_message, args) + return chevron.render(template, args) |