Skip to content

Judge tuning (1/5): Fix vLLM compatibility and context failures - #138

Open
ErlisLushtaku wants to merge 8 commits into
mainfrom
erlislushtaku/fix/vllm-request-context
Open

ErlisLushtaku wants to merge 8 commits into
mainfrom
erlislushtaku/fix/vllm-request-context

Conversation

@ErlisLushtaku

@ErlisLushtaku ErlisLushtaku commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes two vLLM problems that judge tuning runs into.

  • vLLM 0.25 imports responses.NamespaceTool from the OpenAI SDK, so the vllm extra now requires openai>=2.30.0.
  • One prompt longer than the model context made LLM.chat() fail the whole batch. Each chat request is now length-checked first, and overlong ones come back as failed annotations (error="context_length") while the valid requests still run. A search will hit this on long conversations, and one bad battle should not fail a whole trial. The check uses a private vLLM method (_preprocess_chat_one), which exists in 0.19 to 0.25.
  • Failed requests are not written to the inference cache, and they are left out of usage accounting. That lets the cost objective in Judge tuning (4/5): Run multi-fidelity judge searches #133 tell a skipped request apart from a successful response with missing usage.

Merge order: #138 → #135 → #140 → #133 → #136.

@ErlisLushtaku ErlisLushtaku changed the title WIP: Keep vLLM context failures within individual annotations WIP: Judge tuning (1/5): Fix vLLM compatibility and context failures Oct 13, 2026
@ErlisLushtaku ErlisLushtaku changed the title WIP: Judge tuning (1/5): Fix vLLM compatibility and context failures Judge tuning (1/5): Fix vLLM compatibility and context failures Oct 13, 2026
@ErlisLushtaku
ErlisLushtaku marked this pull request as ready for review October 13, 2026 12:51
Comment thread judgearena/models.py
results = []
for out in outputs:
if out is None:
results.append(InferenceResult(text="", error="context_length"))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we sure the error is context length?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the None comes from _run_raw_batch, where we leave an empty slot for requests rejected for exceeding the context limit and fill in the results for the valid ones. Other errors are raised there, so they don't reach this loop.

Comment thread pyproject.toml
vllm = [
"vllm>=0.19.1,<1.0.0",
"transformers>=5.5.1,<6.0.0",
"openai>=2.30.0", # vLLM 0.25 imports responses.NamespaceTool.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesnt break anything right?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine with the current dependencies. I tried a clean install with both extras. Also the tests pass. This resolved to vllm==0.32.0 and openai==3.35.1.

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.

2 participants