-
Notifications
You must be signed in to change notification settings - Fork 262
Expand file tree
/
Copy pathtest_langchain_usage.py
More file actions
53 lines (45 loc) · 1.32 KB
/
test_langchain_usage.py
File metadata and controls
53 lines (45 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from langfuse.langchain.CallbackHandler import _parse_usage_model
def test_parse_usage_model_skips_priority_subtraction():
usage = {
"input": 13,
"output": 1,
"total": 14,
"input_token_details": {
"audio": 0,
"priority_cache_read": 0,
"priority": 13,
},
"output_token_details": {
"audio": 0,
"priority_reasoning": 0,
"priority": 1,
},
}
parsed = _parse_usage_model(usage)
assert parsed["input"] == 13
assert parsed["output"] == 1
assert parsed["total"] == 14
def test_parse_usage_model_subtracts_known_details():
usage = {
"input": 100,
"output": 50,
"total": 150,
"input_token_details": {
"cache_read": 20,
"audio": 5,
"custom_detail": 3,
},
"output_token_details": {
"reasoning": 10,
"custom_output": 2,
},
}
parsed = _parse_usage_model(usage)
assert parsed["input"] == 72
assert parsed["output"] == 38
assert parsed["input_cache_read"] == 20
assert parsed["input_audio"] == 5
assert parsed["input_custom_detail"] == 3
assert parsed["output_reasoning"] == 10
assert parsed["output_custom_output"] == 2
assert parsed["total"] == 150