66 CostCallbackHandler ,
77 TokenUsage ,
88 get_token_usage_for_anthropic ,
9+ get_token_usage_for_bedrock ,
910 get_token_usage_for_openai ,
1011)
1112
@@ -62,7 +63,7 @@ def test_token_usage_cost():
6263 },
6364)
6465
65- athropic_llm_result = LLMResult (
66+ anthropic_llm_result = LLMResult (
6667 generations = [
6768 [
6869 ChatGeneration (
@@ -82,16 +83,70 @@ def test_token_usage_cost():
8283 llm_output = {},
8384)
8485
86+ bedrock_llama_result = LLMResult (
87+ generations = [
88+ [
89+ ChatGeneration (
90+ text = "Hello, world!" ,
91+ message = AIMessage (
92+ content = "Hello, world!" ,
93+ response_metadata = {
94+ "usage" : {
95+ "prompt_tokens" : 10 ,
96+ "completion_tokens" : 10 ,
97+ "total_tokens" : 20 ,
98+ },
99+ "stop_reason" : "stop" ,
100+ "model_id" : "us.meta.llama3-1-70b-instruct-v1:0" ,
101+ },
102+ ),
103+ )
104+ ]
105+ ],
106+ llm_output = {},
107+ )
108+
109+ bedrock_claude_result = LLMResult (
110+ generations = [
111+ [
112+ ChatGeneration (
113+ text = "Hello, world!" ,
114+ message = AIMessage (
115+ content = "Hello, world!" ,
116+ response_metadata = {
117+ "usage" : {
118+ "prompt_tokens" : 10 ,
119+ "completion_tokens" : 10 ,
120+ "total_tokens" : 20 ,
121+ },
122+ "stop_reason" : "end_turn" ,
123+ "model_id" : "us.anthropic.claude-3-5-sonnet-20240620-v1:0" ,
124+ },
125+ ),
126+ )
127+ ]
128+ ],
129+ llm_output = {},
130+ )
131+
85132
86133def test_parse_llm_results ():
87134 # openai
88135 token_usage = get_token_usage_for_openai (openai_llm_result )
89136 assert token_usage == TokenUsage (input_tokens = 10 , output_tokens = 10 )
90137
91138 # anthropic
92- token_usage = get_token_usage_for_anthropic (athropic_llm_result )
139+ token_usage = get_token_usage_for_anthropic (anthropic_llm_result )
93140 assert token_usage == TokenUsage (input_tokens = 9 , output_tokens = 12 )
94141
142+ # Bedrock LLaMa
143+ token_usage = get_token_usage_for_bedrock (bedrock_llama_result )
144+ assert token_usage == TokenUsage (input_tokens = 10 , output_tokens = 10 )
145+
146+ # Bedrock Claude
147+ token_usage = get_token_usage_for_bedrock (bedrock_claude_result )
148+ assert token_usage == TokenUsage (input_tokens = 10 , output_tokens = 10 )
149+
95150
96151def test_cost_callback_handler ():
97152 cost_cb = CostCallbackHandler (token_usage_parser = get_token_usage_for_openai )
0 commit comments