Skip to content

[Draft]remove computed_field from total_tokens#448

Draft
tukwila wants to merge 2 commits into
vllm-project:mainfrom
tukwila:fix_total_tokens
Draft

[Draft]remove computed_field from total_tokens#448
tukwila wants to merge 2 commits into
vllm-project:mainfrom
tukwila:fix_total_tokens

Conversation

@tukwila

@tukwila tukwila commented Nov 6, 2025

Copy link
Copy Markdown
Contributor

Summary

Details

  • [ ]

To fix: #446

test cmd:
tox -e test -- --runxfail tests/unit/utils/test_encoding.py::TestMessageEncoding::test_encode_decode_generative

Test Plan

Related Issues

  • Resolves #

  • "I certify that all code in this PR is my own, except as noted below."

Use of AI

  • Includes AI-assisted code completion
  • Includes code generated by an AI application
  • Includes AI-generated tests (NOTE: AI written tests should have a docstring that includes ## WRITTEN BY AI ##)

Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
@tukwila

tukwila commented Nov 7, 2025

Copy link
Copy Markdown
Contributor Author

@markurtz please help to check this fix, i'm not sure if @computed_field can be remove from total_token to let xfail case: test_encode_decode_generative pass.

@sjmonson

sjmonson commented Nov 7, 2025

Copy link
Copy Markdown
Collaborator

No this is not a valid solution, total_tokens is a computed field. If the test is failing due to that decorator then its something wrong with the test. I think @jaredoconnell ran into a similar issue somewhere.

@jaredoconnell

Copy link
Copy Markdown
Collaborator

Yeah. I believe that this is a bug or something where the cached value AND the processed value are both present. I didn't find a good solution previously.

@tukwila tukwila changed the title remove computed_field from total_tokens [Draft]remove computed_field from total_tokens Nov 10, 2025
@tukwila

tukwila commented Nov 10, 2025

Copy link
Copy Markdown
Contributor Author

Yeah. I believe that this is a bug or something where the cached value AND the processed value are both present. I didn't find a good solution previously.

Got, pending this fix.

@tukwila tukwila marked this pull request as draft November 11, 2025 02:57
mergify Bot pushed a commit that referenced this pull request Jun 24, 2026
## Summary
See the linked issue for more details. In short, fields with the`@computed_field` decorator are included in `model_dump` (and similar) by default, but are then treated as extra fields when passed to `model_validate`, leading to duplicates appearing in the final deserialized object.

## Details
- Set `exclude_computed_fields=True` in `Serializer.to_dict_pydantic` and `.to_sequence_pydantic`
- Remove pytest.mark.xfail from `test_encode_decode_generative`

## Test Plan
`tox -e test-unit -- tests/unit/utils/test_encoding.py`

## Related Issues
- Resolves #446
  - Alternative solution to #448

---

- [x] "I certify that all code in this PR is my own, except as noted below."

## Use of AI

- [ ] Includes code generated or substantially modified by an AI agent
- [ ] Includes tests generated or substantially modified by an AI agent

> NOTE: the `Generated-by` or `Assisted-by` trailers should be used in git commit messages when code or tests were generated or substantially modified by an AI agent, as described in the project's [`DEVELOPING.md`](https://github.com/vllm-project/guidellm/blob/main/DEVELOPING.md) file.





---

# git log

commit 4c59acb
Author: SkiHatDuckie <SkiHatDuckie@gmail.com>
Date:   Wed Jun 24 15:02:04 2026 -0400

    Exclude computed fields during pydantic model dump
    
    Signed-off-by: SkiHatDuckie <SkiHatDuckie@gmail.com>

---------

Signed-off-by: SkiHatDuckie <SkiHatDuckie@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

serializer.deserialize(serialized) duplicate the last dict data

3 participants