Spaces:
Sleeping
Sleeping
from langchain.prompts.chat import ChatMessagePromptTemplate | |
class SpecialTokens: | |
def __init__(self, config): | |
self.user_token = config["user_token"] | |
self.assistant_token = config["assistant_token"] | |
self.system_token = config["system_token"] | |
self.stop_token = config["stop_token"] | |
def to_instruction(query, special_tokens): | |
return special_tokens.user_token + query + special_tokens.stop_token | |
def to_prompt(query, special_tokens): | |
return ( | |
special_tokens.user_token | |
+ query | |
+ special_tokens.stop_token | |
+ special_tokens.assistant_token | |
) | |
def to_system(query, special_tokens): | |
return special_tokens.system_token + query + special_tokens.stop_token | |
def make_prompt(prompt, special_tokens): | |
prompt_type = prompt["type"] | |
if prompt_type == "system": | |
return to_system("\n".join(prompt["prompt"]), special_tokens) | |
elif prompt_type == "instruction": | |
return to_instruction("\n".join(prompt["prompt"]), special_tokens) | |
elif prompt_type == "prompt": | |
return to_prompt("\n".join(prompt["prompt"]), special_tokens) | |
else: | |
return "Invalid prompt type, please check your config" | |
def to_chat_instruction(query, special_tokens): | |
return ChatMessagePromptTemplate.from_template( | |
query, role=special_tokens.user_token | |
) | |
def to_chat_system(query, special_tokens): | |
return ChatMessagePromptTemplate.from_template( | |
query, role=special_tokens.system_token | |
) | |
def to_chat_prompt(query, special_tokens): | |
return ChatMessagePromptTemplate.from_template( | |
query, role=special_tokens.user_token | |
) | |
def make_chat_prompt(prompt, special_tokens): | |
prompt_type = prompt["type"] | |
if prompt_type == "system": | |
return to_chat_system("\n".join(prompt["prompt"]), special_tokens) | |
elif prompt_type == "instruction": | |
return to_chat_instruction("\n".join(prompt["prompt"]), special_tokens) | |
elif prompt_type == "prompt": | |
return to_chat_prompt("\n".join(prompt["prompt"]), special_tokens) | |
else: | |
return "Invalid prompt type, please check your config" | |