Support InternVL3 (#5350)
Co-authored-by: Mick <mickjagger19@icloud.com> Co-authored-by: Chayenne <zhaochen20@outlook.com>
This commit is contained in:
@@ -48,6 +48,7 @@ class SeparatorStyle(IntEnum):
|
||||
DeepSeekVL2 = auto()
|
||||
QWEN2_VL_EMBED = auto()
|
||||
GEMMA3 = auto()
|
||||
MPT = auto()
|
||||
|
||||
|
||||
@dataclasses.dataclass
|
||||
@@ -327,6 +328,16 @@ class Conversation:
|
||||
ret += role
|
||||
return ret
|
||||
|
||||
elif self.sep_style == SeparatorStyle.MPT:
|
||||
ret = system_prompt + self.sep
|
||||
for role, message in self.messages:
|
||||
if message:
|
||||
if type(message) is tuple:
|
||||
message, _, _ = message
|
||||
ret += role + message + self.sep
|
||||
else:
|
||||
ret += role
|
||||
return ret
|
||||
else:
|
||||
raise ValueError(f"Invalid style: {self.sep_style}")
|
||||
|
||||
@@ -570,8 +581,11 @@ def generate_chat_conv(
|
||||
real_content += "\n" # for video
|
||||
real_content += content.text
|
||||
elif content.type == "image_url":
|
||||
# NOTE: Only works for llava
|
||||
real_content += image_token
|
||||
# NOTE: works for llava and intervl2_5
|
||||
if conv.name == "internvl-2-5":
|
||||
real_content = image_token + real_content
|
||||
else:
|
||||
real_content += image_token
|
||||
conv.append_image(content.image_url.url)
|
||||
elif content.type == "audio_url":
|
||||
real_content += audio_token
|
||||
@@ -703,6 +717,19 @@ register_conv_template(
|
||||
)
|
||||
)
|
||||
|
||||
register_conv_template(
|
||||
Conversation(
|
||||
name="internvl-2-5",
|
||||
system_template="<|im_start|>system\n{system_message}",
|
||||
system_message="你是书生·万象,英文名是InternVL,是由上海人工智能实验室、清华大学及多家合作单位联合开发的多模态大语言模型。",
|
||||
roles=("<|im_start|>user\n", "<|im_start|>assistant\n"),
|
||||
sep_style=SeparatorStyle.MPT,
|
||||
sep="<|im_end|>\n",
|
||||
stop_str=["<|im_end|>", "<|action_end|>"],
|
||||
image_token="<image>",
|
||||
)
|
||||
)
|
||||
|
||||
# Reference: https://huggingface.co/docs/transformers/main/model_doc/qwen2_vl#usage-example
|
||||
register_conv_template(
|
||||
Conversation(
|
||||
|
||||
Reference in New Issue
Block a user