diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-07-17 13:33:29 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-07-17 13:33:29 -0700 |
commit | 05d665e65aaef62254a4da9a7a381f9984ff0db5 (patch) | |
tree | 9b5c08baa5c7c1da051e4109ae34fb8a141c2754 /continuedev/src/continuedev/libs/util/count_tokens.py | |
parent | 868e0b7ef5357b89186119c3c2fa8bd427b8db30 (diff) | |
parent | 6e95cb64cd5b2e2d55200bf979106f18d395bb97 (diff) | |
download | sncontinue-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.py | 14 |
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] |