ThongCoding commited on
Commit
179b830
·
verified ·
1 Parent(s): d08c713

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -47
app.py CHANGED
@@ -1,57 +1,24 @@
1
- import os
2
  import gradio as gr
3
  from transformers import AutoModelForCausalLM, AutoTokenizer
4
- import torch
5
 
6
- # Load model and tokenizer
7
- def load_model():
8
- model_name = "Viet-Mistral/Vistral-7B-Chat"
9
- # Lấy token từ environment variable
10
  hf_token = os.getenv("HF_AUTH_TOKEN")
11
  model = AutoModelForCausalLM.from_pretrained(model_name, token=hf_token)
12
  tokenizer = AutoTokenizer.from_pretrained(model_name, token=hf_token)
13
- return model, tokenizer
14
-
15
- # Setup and load the model
16
- model, tokenizer = load_model()
17
-
18
- # Generate response based on conversation history
19
- def generate(messages):
20
- prompt_text = ""
21
- for message in messages:
22
- role = message["role"]
23
- content = message["content"]
24
- if role == "user":
25
- prompt_text += f"User: {content}\n"
26
- else:
27
- prompt_text += f"Assistant: {content}\n"
28
- prompt_text += "Assistant: " # để chuẩn bị cho model generate tiếp
29
-
30
- # Tokenize input prompt
31
- inputs = tokenizer(prompt_text, return_tensors="pt")
32
 
33
- # Generate response
34
- with torch.no_grad():
35
- output = model.generate(inputs.input_ids, max_length=512, num_return_sequences=1, pad_token_id=tokenizer.eos_token_id)
36
-
37
- response = tokenizer.decode(output[0], skip_special_tokens=True)
38
 
39
- return response.strip()
40
-
41
- # Gradio interface
42
- def chatbot_interface():
43
- with gr.Blocks() as demo:
44
- gr.Markdown("# Chatbot sử dụng Vistral của Viet-Mistral")
45
- chatbox = gr.Chatbot()
46
- message = gr.Textbox(placeholder="Gửi tin nhắn...")
47
- send_button = gr.Button("Gửi")
48
-
49
- send_button.click(generate, inputs=message, outputs=chatbox)
50
-
51
- return demo
52
 
53
- # Main function to run the app
54
- if __name__ == "__main__":
55
- demo = chatbot_interface()
56
- demo.launch(share=True)
57
 
 
 
 
 
1
  import gradio as gr
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
 
3
 
4
+ # Hàm để sử dụng mô hình trả lời câu hỏi
5
+ def chatbot(input_text):
6
+ # Đảm bảo bạn đã load mô hình và tokenizer
7
+ model_name = "Viet-Mistral/Vistral-7B-Chat" # Hoặc tên hình bạn đang sử dụng
8
  hf_token = os.getenv("HF_AUTH_TOKEN")
9
  model = AutoModelForCausalLM.from_pretrained(model_name, token=hf_token)
10
  tokenizer = AutoTokenizer.from_pretrained(model_name, token=hf_token)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
+ # Xử lý đầu vào và tạo ra câu trả lời
13
+ inputs = tokenizer(input_text, return_tensors="pt")
14
+ outputs = model.generate(inputs["input_ids"])
15
+ response = tokenizer.decode(outputs[0], skip_special_tokens=True)
 
16
 
17
+ # Trả về câu trả lời
18
+ return response
 
 
 
 
 
 
 
 
 
 
 
19
 
20
+ # Tạo giao diện Gradio
21
+ iface = gr.Interface(fn=chatbot, inputs="text", outputs="text", live=True)
 
 
22
 
23
+ # Khởi động giao diện
24
+ iface.launch()