-
-
Couldn't load subscription status.
- Fork 10.8k
[bugfix][v1]fixed the missing prompt value in RequestOutputs #18880
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
👋 Hi! Thank you for contributing to the vLLM project. 💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels. Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging. To run CI, PR reviewers can either: Add 🚀 |
|
PTAL, thanks. |
3955bb0 to
f747fe5
Compare
Signed-off-by: calvin chen <120380290@qq.com>
f747fe5 to
dd5a4b8
Compare
|
Thanks @calvin0327... to clarify, this is just for the case where only prompt token ids and not a prompt string is provided in the request? |
@njhill Thanks for review,Regardless of whether the user provides prompt token IDs or a prompt string, the prompt field in the RequestOutput returned by AsyncLLM or LLMEngine will be missing. This is because there is an issue with parsing the prompt field when generating the requestState, resulting in it being empty. |
@calvin0327 I don't see how #17214 could have affected this though? I don't think we want to reconstruct the prompt via detokenization if it was passed in the request. We should just make sure that the input processor obtains the original prompt properly (e.g. by fixing the parsing if needed). |
| queue = RequestOutputCollector(output_kind=params.output_kind) | ||
|
|
||
| # Convert Input --> Request. | ||
| prompt_str, request = self.processor.process_inputs( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@njhill Yes, I agree with you that the best approach would be to parse the prompt string within this function, However, after examining the function, I couldn't find any logic that converts the prompt token ids into a prompt string, Do you have any better ideas?
|
This pull request has merge conflicts that must be resolved before it can be |
|
This pull request has been automatically marked as stale because it has not had any activity within 90 days. It will be automatically closed if no further activity occurs within 30 days. Leave a comment if you feel this pull request should remain open. Thank you! |
|
This pull request has been automatically closed due to inactivity. Please feel free to reopen if you intend to continue working on it. Thank you! |


Since the PR #17214 was merged, a new issue has emerged, the
promptfield of theRequestOutputsobject is empty when returned form the request queue. this occurs because when generating therequestStateobject for each request, thepromptvalue returned bydecoder_inputs.get("prompt")in functionprocess_inputsis already empty.Therefore, when creating the
requestStateobject, we directly decode the prompt characters from the request'sprompt_tokens_idsand store in therequestStateobject.