mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2025-12-23 09:05:42 +08:00
[Bugfix] Fix multi-round chat error when mistral tokenizer is used (#12859)
Signed-off-by: Zifei Tong <zifeitong@gmail.com> Co-authored-by: Cyrus Leung <cyrus.tl.leung@gmail.com>
This commit is contained in:
parent
cc01223f3b
commit
d01f66b039
@ -291,6 +291,16 @@ class MistralTokenizer:
|
|||||||
|
|
||||||
from mistral_common.protocol.instruct.request import (
|
from mistral_common.protocol.instruct.request import (
|
||||||
ChatCompletionRequest)
|
ChatCompletionRequest)
|
||||||
|
|
||||||
|
# mistral-common requires AssistantMessage content to be string [1].
|
||||||
|
#
|
||||||
|
# [1]: https://github.com/mistralai/mistral-common/blob/f4a06998b75ed78bbf5aaf569590b772ea26c9f6/src/mistral_common/protocol/instruct/messages.py#L80
|
||||||
|
for message in messages:
|
||||||
|
if message.get("role") == "assistant":
|
||||||
|
content = message.get("content")
|
||||||
|
if isinstance(content, list):
|
||||||
|
content = "\n".join(chunk.get("text") for chunk in content)
|
||||||
|
message["content"] = content
|
||||||
request = ChatCompletionRequest(messages=messages,
|
request = ChatCompletionRequest(messages=messages,
|
||||||
tools=tools) # type: ignore[type-var]
|
tools=tools) # type: ignore[type-var]
|
||||||
encoded = self.mistral.encode_chat_completion(request)
|
encoded = self.mistral.encode_chat_completion(request)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user