Skip to content

Commit 2324241

Browse files
committed
Proper TokenTrimming for new models
1 parent 3671d9f commit 2324241

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

interpreter/llm/setup_openai_coding_llm.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from ..utils.merge_deltas import merge_deltas
33
from ..utils.parse_partial_json import parse_partial_json
44
from ..utils.convert_to_openai_messages import convert_to_openai_messages
5+
from ..utils.display_markdown_message import display_markdown_message
56
import tokentrim as tt
67

78

@@ -47,7 +48,17 @@ def coding_llm(messages):
4748
messages = messages[1:]
4849

4950
# Trim messages, preserving the system_message
50-
messages = tt.trim(messages=messages, system_message=system_message, model=interpreter.model)
51+
try:
52+
messages = tt.trim(messages=messages, system_message=system_message, model=interpreter.model)
53+
except:
54+
if interpreter.context_window:
55+
messages = tt.trim(messages=messages, system_message=system_message, max_tokens=interpreter.context_window)
56+
else:
57+
display_markdown_message("""
58+
**We were unable to determine the context window of this model.** Defaulting to 3000.
59+
If your model can handle more, run `interpreter --context_window {token limit}` or `interpreter.context_window = {token limit}`.
60+
""")
61+
messages = tt.trim(messages=messages, system_message=system_message, max_tokens=3000)
5162

5263
if interpreter.debug_mode:
5364
print("Sending this to the OpenAI LLM:", messages)

interpreter/llm/setup_text_llm.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ def base_llm(messages):
7979
try:
8080
messages = tt.trim(messages, system_message=system_message, model=interpreter.model)
8181
except:
82-
# If we don't know the model, just do 3000.
82+
display_markdown_message("""
83+
**We were unable to determine the context window of this model.** Defaulting to 3000.
84+
If your model can handle more, run `interpreter --context_window {token limit}` or `interpreter.context_window = {token limit}`.
85+
Also, please set max_tokens: `interpreter --max_tokens {max tokens per response}` or `interpreter.max_tokens = {max tokens per response}`
86+
""")
8387
messages = tt.trim(messages, system_message=system_message, max_tokens=3000)
8488

8589
if interpreter.debug_mode:

0 commit comments

Comments
 (0)