Skip to content

Commit 96cca15

Browse files
committed
Getting PaperQA to handle None tokens
1 parent fbbd542 commit 96cca15

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/paperqa/types.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -394,14 +394,14 @@ def add_tokens(self, result: LLMResult | Message) -> None:
394394
prompt_count=result.info["usage"][0],
395395
completion_count=result.info["usage"][1],
396396
)
397+
398+
prompt_count = result.prompt_count or 0
399+
completion_count = result.completion_count or 0
397400
if result.model not in self.token_counts:
398-
self.token_counts[result.model] = [
399-
result.prompt_count,
400-
result.completion_count,
401-
]
401+
self.token_counts[result.model] = [prompt_count, completion_count]
402402
else:
403-
self.token_counts[result.model][0] += result.prompt_count
404-
self.token_counts[result.model][1] += result.completion_count
403+
self.token_counts[result.model][0] += prompt_count
404+
self.token_counts[result.model][1] += completion_count
405405

406406
self.cost += result.cost
407407

tests/test_paperqa.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,9 @@ def accum(x) -> None:
447447
assert isinstance(first_id, UUID)
448448
assert completion.text
449449
assert completion.seconds_to_first_token > 0
450+
assert completion.prompt_count is not None
450451
assert completion.prompt_count > 0
452+
assert completion.completion_count is not None
451453
assert completion.completion_count > 0
452454
assert completion.model == "babbage-002"
453455
assert str(completion) == "".join(outputs)
@@ -461,7 +463,9 @@ def accum(x) -> None:
461463
assert completion.text
462464
assert completion.seconds_to_first_token == 0
463465
assert completion.seconds_to_last_token > 0
466+
assert completion.prompt_count is not None
464467
assert completion.prompt_count > 0
468+
assert completion.completion_count is not None
465469
assert completion.completion_count > 0
466470
try:
467471
assert completion.model == "babbage-002"
@@ -492,7 +496,9 @@ def accum(x) -> None:
492496
callbacks=[accum],
493497
)
494498
assert completion.seconds_to_first_token > 0
499+
assert completion.prompt_count is not None
495500
assert completion.prompt_count > 0
501+
assert completion.completion_count is not None
496502
assert completion.completion_count > 0
497503
assert str(completion) == "".join(outputs)
498504
assert isinstance(completion.text, str)

0 commit comments

Comments
 (0)