Populate Codex usage metadata for token accounting (#2585)

This commit is contained in:
KiteEater
2026-05-02 11:16:03 +08:00
committed by GitHub
parent 8ba01dfd83
commit 866d1ca409
3 changed files with 65 additions and 0 deletions
+30
View File
@@ -82,6 +82,36 @@ def test_parse_response_text_content():
assert result.generations[0].message.content == "Hello world"
def test_parse_response_populates_usage_metadata():
model = _make_model()
response = {
"output": [
{
"type": "message",
"content": [{"type": "output_text", "text": "Hello world"}],
}
],
"usage": {
"input_tokens": 10,
"output_tokens": 5,
"total_tokens": 15,
"input_tokens_details": {"cached_tokens": 3},
"output_tokens_details": {"reasoning_tokens": 2},
},
"model": "gpt-5.4",
}
result = model._parse_response(response)
assert result.generations[0].message.usage_metadata == {
"input_tokens": 10,
"output_tokens": 5,
"total_tokens": 15,
"input_token_details": {"cache_read": 3},
"output_token_details": {"reasoning": 2},
}
def test_parse_response_reasoning_content():
model = _make_model()
response = {