Skip to content

Commit 99c1f95

Browse files
authored
Merge pull request #1569 from better629/main
update aws claude token usage
2 parents 59715c0 + fb817a7 commit 99c1f95

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

metagpt/utils/token_counter.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@
6767
"claude-2.0": {"prompt": 0.008, "completion": 0.024},
6868
"claude-2.1": {"prompt": 0.008, "completion": 0.024},
6969
"claude-3-sonnet-20240229": {"prompt": 0.003, "completion": 0.015},
70+
"claude-3-5-sonnet": {"prompt": 0.003, "completion": 0.015},
71+
"claude-3-5-sonnet-v2": {"prompt": 0.003, "completion": 0.015}, # alias of newer 3.5 sonnet
7072
"claude-3-5-sonnet-20240620": {"prompt": 0.003, "completion": 0.015},
7173
"claude-3-opus-20240229": {"prompt": 0.015, "completion": 0.075},
7274
"claude-3-haiku-20240307": {"prompt": 0.00025, "completion": 0.00125},
@@ -379,8 +381,12 @@
379381
def count_input_tokens(messages, model="gpt-3.5-turbo-0125"):
380382
"""Return the number of tokens used by a list of messages."""
381383
if "claude" in model:
384+
# rough estimation for models newer than claude-2.1
382385
vo = anthropic.Client()
383-
num_tokens = vo.count_tokens(str(messages))
386+
num_tokens = 0
387+
for message in messages:
388+
for key, value in message.items():
389+
num_tokens += vo.count_tokens(str(value))
384390
return num_tokens
385391
try:
386392
encoding = tiktoken.encoding_for_model(model)

0 commit comments

Comments
 (0)