Skip to content

Commit 730689b

Browse files
committed
ai agents
Signed-off-by: Saurabh Misra <[email protected]>
1 parent c9576e8 commit 730689b

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

codeflash/after_aiagents.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
def _estimate_string_tokens(content: str | Sequence[UserContent]) -> int:
2+
if not content:
3+
return 0
4+
if isinstance(content, str):
5+
return len(_TOKEN_SPLIT_RE.split(content.strip()))
6+
tokens = 0
7+
for part in content:
8+
if isinstance(part, str):
9+
tokens += len(_TOKEN_SPLIT_RE.split(part.strip()))
10+
elif isinstance(part, BinaryContent):
11+
tokens += len(part.data)
12+
return tokens
13+
14+
15+
_TOKEN_SPLIT_RE = re.compile(r'[\s",.:]+')

codeflash/before_aiagents.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
def _estimate_string_tokens(content: str | Sequence[UserContent]) -> int:
2+
if not content:
3+
return 0
4+
if isinstance(content, str):
5+
return len(re.split(r'[\s",.:]+', content.strip()))
6+
tokens = 0
7+
for part in content:
8+
if isinstance(part, str):
9+
tokens += len(re.split(r'[\s",.:]+', part.strip()))
10+
if isinstance(part, (AudioUrl, ImageUrl)):
11+
tokens += 0
12+
elif isinstance(part, BinaryContent):
13+
tokens += len(part.data)
14+
else:
15+
tokens += 0
16+
return tokens

0 commit comments

Comments
 (0)