Download code/internvl/conversation.py from yangbai123/EVLF-FM: direct link, hf CLI and curl.
- Browser
- Download file 1.04 kB
-
https://huggingface.co/yangbai123/EVLF-FM/resolve/main/code/internvl/conversation.py
- Command line
-
hf download hf://yangbai123/EVLF-FM/code/internvl/conversation.py
-
curl -L -o conversation.py https://huggingface.co/yangbai123/EVLF-FM/resolve/main/code/internvl/conversation.py
1.04 kB
| """EVLF conversation template, adapted from FastChat.""" | |
| from dataclasses import dataclass, field | |
| from typing import List, Optional, Tuple | |
| class Conversation: | |
| system_message: Optional[str] = '你是书生·万象,英文名是InternVL,是由上海人工智能实验室、清华大学及多家合作单位联合开发的多模态大语言模型。' | |
| roles: Tuple[str, str] = ('<|im_start|>user\n', '<|im_start|>assistant\n') | |
| sep: str = '<|im_end|>\n' | |
| messages: List[Tuple[str, Optional[str]]] = field(default_factory=list) | |
| def append_message(self, role, message): | |
| self.messages.append((role, message)) | |
| def get_prompt(self): | |
| prompt = f'<|im_start|>system\n{self.system_message}' + self.sep | |
| for role, message in self.messages: | |
| prompt += role + message + self.sep if message else role | |
| return prompt | |
| def get_conv_template(name): | |
| if name != 'internvl2_5': | |
| raise ValueError(f'Unsupported conversation template: {name}') | |
| return Conversation() | |