Skip to content

Commit 405a096

Browse files
committed
don't truncate single message size yet
1 parent 4fb6289 commit 405a096

File tree

1 file changed

+0
-36
lines changed

1 file changed

+0
-36
lines changed

sentry_sdk/ai/utils.py

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -109,46 +109,10 @@ def truncate_messages_by_size(messages, max_bytes=MAX_GEN_AI_MESSAGE_BYTES):
109109
while len(truncated_messages) > 1:
110110
serialized_json = json.dumps(truncated_messages, separators=(",", ":"))
111111
current_size = len(serialized_json.encode("utf-8"))
112-
113112
if current_size <= max_bytes:
114113
break
115-
116114
truncated_messages.pop(0)
117115

118-
serialized_json = json.dumps(truncated_messages, separators=(",", ":"))
119-
current_size = len(serialized_json.encode("utf-8"))
120-
121-
if current_size > max_bytes and len(truncated_messages) == 1:
122-
message = truncated_messages[0].copy()
123-
content = message.get("content", "")
124-
125-
if isinstance(content, str):
126-
max_content_length = max_bytes // 2
127-
while True:
128-
message["content"] = content[:max_content_length]
129-
test_json = json.dumps([message], separators=(",", ":"))
130-
if len(test_json.encode("utf-8")) <= max_bytes:
131-
break
132-
max_content_length = int(max_content_length * 0.9)
133-
if max_content_length < 100:
134-
message["content"] = ""
135-
break
136-
137-
truncated_messages = [message]
138-
elif isinstance(content, list):
139-
content_copy = list(content)
140-
while len(content_copy) > 0:
141-
message["content"] = content_copy
142-
test_json = json.dumps([message], separators=(",", ":"))
143-
if len(test_json.encode("utf-8")) <= max_bytes:
144-
break
145-
content_copy = content_copy[:-1]
146-
147-
if len(content_copy) == 0:
148-
message["content"] = []
149-
150-
truncated_messages = [message]
151-
152116
return truncated_messages
153117

154118

0 commit comments

Comments
 (0)