summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/libs/util/count_tokens.py
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-07-17 13:33:29 -0700
committerNate Sesti <sestinj@gmail.com>2023-07-17 13:33:29 -0700
commit05d665e65aaef62254a4da9a7a381f9984ff0db5 (patch)
tree9b5c08baa5c7c1da051e4109ae34fb8a141c2754 /continuedev/src/continuedev/libs/util/count_tokens.py
parent868e0b7ef5357b89186119c3c2fa8bd427b8db30 (diff)
parent6e95cb64cd5b2e2d55200bf979106f18d395bb97 (diff)
downloadsncontinue-05d665e65aaef62254a4da9a7a381f9984ff0db5.tar.gz
sncontinue-05d665e65aaef62254a4da9a7a381f9984ff0db5.tar.bz2
sncontinue-05d665e65aaef62254a4da9a7a381f9984ff0db5.zip
Merge branch 'main' of https://github.com/continuedev/continue into anthropic
Diffstat (limited to 'continuedev/src/continuedev/libs/util/count_tokens.py')
-rw-r--r--continuedev/src/continuedev/libs/util/count_tokens.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/continuedev/src/continuedev/libs/util/count_tokens.py b/continuedev/src/continuedev/libs/util/count_tokens.py
index 73be0717..1ca98fe6 100644
--- a/continuedev/src/continuedev/libs/util/count_tokens.py
+++ b/continuedev/src/continuedev/libs/util/count_tokens.py
@@ -1,15 +1,19 @@
import json
from typing import Dict, List, Union
from ...core.main import ChatMessage
+from .templating import render_system_message
import tiktoken
-aliases = {}
+aliases = {
+ "ggml": "gpt-3.5-turbo",
+}
DEFAULT_MAX_TOKENS = 2048
MAX_TOKENS_FOR_MODEL = {
"gpt-3.5-turbo": 4096,
"gpt-3.5-turbo-0613": 4096,
"gpt-3.5-turbo-16k": 16384,
- "gpt-4": 8192
+ "gpt-4": 8192,
+ "ggml": 2048
}
CHAT_MODELS = {
"gpt-3.5-turbo", "gpt-3.5-turbo-16k", "gpt-4", "gpt-3.5-turbo-0613"
@@ -82,13 +86,15 @@ def compile_chat_messages(model: str, msgs: List[ChatMessage], max_tokens: int,
for function in functions:
prompt_tokens += count_tokens(model, json.dumps(function))
+ rendered_system_message = render_system_message(system_message)
+
msgs = prune_chat_history(model,
- msgs, MAX_TOKENS_FOR_MODEL[model], prompt_tokens + max_tokens + count_tokens(model, system_message))
+ msgs, MAX_TOKENS_FOR_MODEL[model], prompt_tokens + max_tokens + count_tokens(model, rendered_system_message))
history = []
if system_message:
history.append({
"role": "system",
- "content": system_message
+ "content": rendered_system_message
})
history += [msg.to_dict(with_functions=functions is not None)
for msg in msgs]