Skip to content

Commit 287477e

Browse files
authored
Report token_usage in FixResult (#1081)
report token usage
1 parent 7d6b99c commit 287477e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/codemodder/codetf/v3/codetf.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from pydantic import BaseModel, model_validator
77

8+
from codemodder.llm import TokenUsage
89
from codemodder.logging import logger
910

1011
from ..common import Change, CodeTFWriter, Finding, FixQuality
@@ -119,6 +120,27 @@ def validate_fixMetadata(self):
119120
raise ValueError("fixMetadata must be provided for fixed results")
120121
return self
121122

123+
def store_token_data(self, token_usage: TokenUsage):
124+
if token_usage == TokenUsage() or not self.fixMetadata:
125+
return
126+
127+
if not self.fixMetadata.generation.ai:
128+
self.fixMetadata.generation.ai = AIMetadata(
129+
total_tokens=token_usage.total,
130+
completion_tokens=token_usage.completion_tokens,
131+
prompt_tokens=token_usage.prompt_tokens,
132+
)
133+
else:
134+
self.fixMetadata.generation.ai.completion_tokens = (
135+
self.fixMetadata.generation.ai.completion_tokens or 0
136+
) + token_usage.completion_tokens
137+
self.fixMetadata.generation.ai.prompt_tokens = (
138+
self.fixMetadata.generation.ai.prompt_tokens or 0
139+
) + token_usage.prompt_tokens
140+
self.fixMetadata.generation.ai.total_tokens = (
141+
self.fixMetadata.generation.ai.total_tokens or 0
142+
) + token_usage.total
143+
122144

123145
class CodeTF(CodeTFWriter, BaseModel):
124146
run: Run

0 commit comments

Comments
 (0)