ngoiThu0 commited on
Commit
f75ce80
1 Parent(s): ee821a1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -5
app.py CHANGED
@@ -1,7 +1,38 @@
1
- import gradio as gr
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
 
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from transformers import AutoModelForCausalLM, AutoTokenizer
3
 
4
+ system_prompt = "Bạn là một trợ lí Tiếng Việt nhiệt tình và trung thực. Hãy luôn trả lời một cách hữu ích nhất có thể, đồng thời giữ an toàn.\n"
5
+ system_prompt += "Câu trả lời của bạn không nên chứa bất kỳ nội dung gây hại, phân biệt chủng tộc, phân biệt giới tính, độc hại, nguy hiểm hoặc bất hợp pháp nào. Hãy đảm bảo rằng các câu trả lời của bạn không có thiên kiến xã hội và mang tính tích cực."
6
+ system_prompt += "Nếu một câu hỏi không có ý nghĩa hoặc không hợp lý về mặt thông tin, hãy giải thích tại sao thay vì trả lời một điều gì đó không chính xác. Nếu bạn không biết câu trả lời cho một câu hỏi, hãy trẳ lời là bạn không biết và vui lòng không chia sẻ thông tin sai lệch."
7
 
8
+ tokenizer = AutoTokenizer.from_pretrained('Viet-Mistral/Vistral-7B-Chat')
9
+ model = AutoModelForCausalLM.from_pretrained(
10
+ 'Viet-Mistral/Vistral-7B-Chat',
11
+ torch_dtype=torch.bfloat16, # change to torch.float16 if you're using V100
12
+ device_map="auto",
13
+ use_cache=True,
14
+ )
15
+
16
+ conversation = [{"role": "system", "content": system_prompt }]
17
+ while True:
18
+ human = input("Human: ")
19
+ if human.lower() == "reset":
20
+ conversation = [{"role": "system", "content": system_prompt }]
21
+ print("The chat history has been cleared!")
22
+ continue
23
+
24
+ conversation.append({"role": "user", "content": human })
25
+ input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt").to(model.device)
26
+
27
+ out_ids = model.generate(
28
+ input_ids=input_ids,
29
+ max_new_tokens=768,
30
+ do_sample=True,
31
+ top_p=0.95,
32
+ top_k=40,
33
+ temperature=0.1,
34
+ repetition_penalty=1.05,
35
+ )
36
+ assistant = tokenizer.batch_decode(out_ids[:, input_ids.size(1): ], skip_special_tokens=True)[0].strip()
37
+ print("Assistant: ", assistant)
38
+ conversation.append({"role": "assistant", "content": assistant })