[Feature] Support Deepseek-VL2 (#2798)

Co-authored-by: Edenzzzz <wtan45@wisc.edu>
Co-authored-by: Chayenne <zhaochen20@outlook.com>
Co-authored-by: Yi Zhang <1109276519@qq.com>
This commit is contained in:
萝卜菜
2025-03-16 23:07:59 -07:00
committed by GitHub
co-authored by Edenzzzz Chayenne Yi Zhang
parent 0212d2e288
commit d6d21640d3
13 changed files with 1259 additions and 2 deletions
+31
View File
@@ -44,6 +44,7 @@ class SeparatorStyle(IntEnum):
CHATGLM3 = auto()
DEEPSEEK_CHAT = auto()
METAMATH = auto()
DeepSeekVL2 = auto()
QWEN2_VL_EMBED = auto()
GEMMA3 = auto()
@@ -75,6 +76,7 @@ class Conversation:
image_data: Optional[List[str]] = None
modalities: Optional[List[str]] = None
stop_token_ids: Optional[int] = None
def get_prompt(self) -> str:
"""Get the prompt for generation."""
@@ -286,6 +288,18 @@ class Conversation:
else:
ret += role + ":"
return ret
elif self.sep_style == SeparatorStyle.DeepSeekVL2:
seps = [self.sep, self.sep2]
if system_prompt == "" or system_prompt is None:
ret = ""
else:
ret = system_prompt + seps[0]
for i, (role, message) in enumerate(self.messages):
if message:
ret += role + ": " + message + seps[i % 2]
else:
ret += role + ":"
return ret
elif self.sep_style == SeparatorStyle.GEMMA3:
ret = system_prompt
for i, (role, message) in enumerate(self.messages):
@@ -617,6 +631,23 @@ register_conv_template(
)
)
register_conv_template(
Conversation(
name="deepseek-vl2",
system_template="{system_message}",
# system_message="You are a helpful assistant. Please answer truthfully and write out your "
# "thinking step by step to be sure you get the right answer.",
system_message="",
roles=("<|User|>", "<|Assistant|>"),
messages=(),
offset=0,
sep_style=SeparatorStyle.DeepSeekVL2,
sep="\n\n",
sep2="<end▁of▁sentence>",
stop_str=["User:", "<end▁of▁sentence>"],
)
)
# Reference: https://huggingface.co/google/gemma-3-4b-it/blob/main/config.json
register_conv_template(
Conversation(