Add image_token in conversation.py (#1632)

Co-authored-by: yizhang2077 <1109276519@qq.com>
This commit is contained in:
Lianmin Zheng
2024-10-11 05:07:51 -07:00
committed by GitHub
parent aba9eae4c6
commit f13d86f920
2 changed files with 14 additions and 3 deletions

View File

@@ -70,6 +70,9 @@ class Conversation:
sep2: str = None
# Stop criteria (the default one is EOS token)
stop_str: Union[str, List[str]] = None
# The string that represents an image token in the prompt
image_token: str = "<image>"
image_data: Optional[List[str]] = None
modalities: Optional[List[str]] = None
@@ -334,6 +337,7 @@ class Conversation:
sep=self.sep,
sep2=self.sep2,
stop_str=self.stop_str,
image_token=self.image_token,
)
def dict(self):
@@ -381,6 +385,7 @@ def generate_chat_conv(
stop_str=conv.stop_str,
image_data=[],
modalities=[],
image_token=conv.image_token,
)
if isinstance(request.messages, str):
@@ -412,9 +417,13 @@ def generate_chat_conv(
num_image_url += 1
conv.modalities.append(content.modalities)
if num_image_url > 1:
image_token = "<image>"
image_token = conv.image_token
else:
image_token = "<image>\n"
image_token = (
conv.image_token + "\n"
if conv.name != "qwen2-vl"
else conv.image_token
)
for content in message.content:
if content.type == "text":
if num_image_url > 16:

View File

@@ -117,7 +117,9 @@ def create_streaming_error_response(
def load_chat_template_for_openai_api(tokenizer_manager, chat_template_arg):
global chat_template_name
logger.info(f"Use chat template: {chat_template_arg}")
logger.info(
f"Use chat template for the OpenAI-compatible API server: {chat_template_arg}"
)
if not chat_template_exists(chat_template_arg):
if not os.path.exists(chat_template_arg):
raise RuntimeError(