Spaces:
Running
on
Zero
Running
on
Zero
add in default system prompt within generate() and print chat_history
Browse files
app.py
CHANGED
@@ -27,7 +27,7 @@ this demo is governed by the original [license](https://huggingface.co/spaces/hu
|
|
27 |
|
28 |
SYSTEM_PROMPT = "ஒரு பணியை எவ்வாறு நிறைவேற்ற வேண்டும் என்று கூறும் அறிவுரை கீழே உள்ளது. வேண்டுகோளைப் பொருத்தமாக நிறைவு செய்கின்ற பதில் ஒன்றை எழுதுக."
|
29 |
|
30 |
-
PROMPT_TEMPLATE = """{% if messages[0]['role'] == 'system' %}{{ messages[0]['content'] + '\n\n' }}{% endif %}### Instruction
|
31 |
|
32 |
if not torch.cuda.is_available():
|
33 |
DESCRIPTION += "\n<p>Running on CPU 🥶 This demo does not work on CPU.</p>"
|
@@ -43,21 +43,23 @@ if torch.cuda.is_available():
|
|
43 |
def generate(
|
44 |
message: str,
|
45 |
chat_history: list[tuple[str, str]],
|
46 |
-
system_prompt: str =
|
47 |
max_new_tokens: int = 1024,
|
48 |
temperature: float = 0.6,
|
49 |
top_p: float = 0.9,
|
50 |
top_k: int = 50,
|
51 |
repetition_penalty: float = 1.2,
|
52 |
) -> Iterator[str]:
|
|
|
53 |
conversation = []
|
54 |
-
if system_prompt:
|
|
|
55 |
conversation.append({"role": "system", "content": system_prompt})
|
56 |
for user, assistant in chat_history:
|
57 |
conversation.extend([{"role": "user", "content": user}, {"role": "assistant", "content": assistant}])
|
58 |
conversation.append({"role": "user", "content": message})
|
59 |
print(tokenizer.apply_chat_template(conversation, tokenize=False))
|
60 |
-
print(conversation)
|
61 |
input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt")
|
62 |
if input_ids.shape[1] > MAX_INPUT_TOKEN_LENGTH:
|
63 |
input_ids = input_ids[:, -MAX_INPUT_TOKEN_LENGTH:]
|
|
|
27 |
|
28 |
SYSTEM_PROMPT = "ஒரு பணியை எவ்வாறு நிறைவேற்ற வேண்டும் என்று கூறும் அறிவுரை கீழே உள்ளது. வேண்டுகோளைப் பொருத்தமாக நிறைவு செய்கின்ற பதில் ஒன்றை எழுதுக."
|
29 |
|
30 |
+
PROMPT_TEMPLATE = """{% if messages[0]['role'] == 'system' %}{{ messages[0]['content'] + '\n\n' }}{% endif %}### Instruction:\nநீங்கள் ஒரு பயனருடன் உரையாடும் AI உதவியாளர். இதுவரை உங்கள் தொடர்புகளின் அரட்டை வரலாறு இதுதான்:\n\n{% for message in messages %}{% if message['role'] == 'user' %}{{ '\nUser: ' + message['content'] + '\n'}}{% elif message['role'] == 'assistant' %}{{ '\nAI: ' + message['content'] + '\n'}}{% endif %}{% endfor %}\n\nAI உதவியாளராக, உங்கள் அடுத்த பதிலை அரட்டையில் எழுதவும். ஒரே ஒரு பதிலை மட்டும் எழுதுங்கள்.\n\n### Response:\n"""
|
31 |
|
32 |
if not torch.cuda.is_available():
|
33 |
DESCRIPTION += "\n<p>Running on CPU 🥶 This demo does not work on CPU.</p>"
|
|
|
43 |
def generate(
|
44 |
message: str,
|
45 |
chat_history: list[tuple[str, str]],
|
46 |
+
system_prompt: str = "",
|
47 |
max_new_tokens: int = 1024,
|
48 |
temperature: float = 0.6,
|
49 |
top_p: float = 0.9,
|
50 |
top_k: int = 50,
|
51 |
repetition_penalty: float = 1.2,
|
52 |
) -> Iterator[str]:
|
53 |
+
print("chat history: ", chat_history)
|
54 |
conversation = []
|
55 |
+
if not system_prompt:
|
56 |
+
system_prompt = SYSTEM_PROMPT
|
57 |
conversation.append({"role": "system", "content": system_prompt})
|
58 |
for user, assistant in chat_history:
|
59 |
conversation.extend([{"role": "user", "content": user}, {"role": "assistant", "content": assistant}])
|
60 |
conversation.append({"role": "user", "content": message})
|
61 |
print(tokenizer.apply_chat_template(conversation, tokenize=False))
|
62 |
+
print("conversation: ", conversation)
|
63 |
input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt")
|
64 |
if input_ids.shape[1] > MAX_INPUT_TOKEN_LENGTH:
|
65 |
input_ids = input_ids[:, -MAX_INPUT_TOKEN_LENGTH:]
|