Spaces:
Runtime error
Runtime error
update
Browse files
app.py
CHANGED
|
@@ -1,44 +1,97 @@
|
|
| 1 |
import os
|
| 2 |
import gradio as gr
|
| 3 |
-
import torch
|
| 4 |
from transformers import pipeline
|
| 5 |
|
| 6 |
-
#
|
| 7 |
model_id = "meta-llama/Llama-3.2-1B-Instruct"
|
| 8 |
|
| 9 |
-
# Khởi tạo pipeline chat
|
| 10 |
-
# Lưu ý: Llama 3.2 cần transformers bản mới nhất
|
| 11 |
pipe = pipeline(
|
| 12 |
"text-generation",
|
| 13 |
model=model_id,
|
| 14 |
-
torch_dtype=
|
| 15 |
device_map="auto",
|
| 16 |
)
|
| 17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
def chat(message, history):
|
| 19 |
-
#
|
| 20 |
-
messages = []
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
messages.append({"role": "user", "content": message})
|
| 25 |
|
| 26 |
-
#
|
| 27 |
outputs = pipe(
|
| 28 |
messages,
|
| 29 |
max_new_tokens=256,
|
| 30 |
do_sample=True,
|
| 31 |
-
temperature=0.
|
| 32 |
top_p=0.9,
|
| 33 |
)
|
| 34 |
|
| 35 |
return outputs[0]["generated_text"][-1]["content"]
|
| 36 |
|
| 37 |
-
|
| 38 |
-
demo = gr.ChatInterface(
|
| 39 |
-
fn=chat,
|
| 40 |
-
title="Llama-3.2-1B: Nhỏ mà có võ!",
|
| 41 |
-
description="Backend siêu tốc cho Website của bạn."
|
| 42 |
-
)
|
| 43 |
-
|
| 44 |
demo.launch()
|
|
|
|
| 1 |
import os
|
| 2 |
import gradio as gr
|
|
|
|
| 3 |
from transformers import pipeline
|
| 4 |
|
| 5 |
+
# Giữ nguyên model siêu nhẹ
|
| 6 |
model_id = "meta-llama/Llama-3.2-1B-Instruct"
|
| 7 |
|
|
|
|
|
|
|
| 8 |
pipe = pipeline(
|
| 9 |
"text-generation",
|
| 10 |
model=model_id,
|
| 11 |
+
torch_dtype="auto",
|
| 12 |
device_map="auto",
|
| 13 |
)
|
| 14 |
|
| 15 |
+
# --- ĐÂY LÀ NƠI BẠN "THỔI HỒN" CHO AI ---
|
| 16 |
+
SYSTEM_PROMPT = """
|
| 17 |
+
Bạn là chuyên gia tư vấn trà của Trà Phú Hội- thương hiệu trà cao cấp Phú Hội, Việt Nam.
|
| 18 |
+
|
| 19 |
+
PHONG CÁCH GIAO TIẾP:
|
| 20 |
+
- Xưng hô: Em (bạn) - Anh/Chị (khách hàng)
|
| 21 |
+
- Giọng điệu: Thân thiện, nhiệt tình, chuyên nghiệp nhưng gần gũi
|
| 22 |
+
- Luôn dùng emoji phù hợp: 🍃 ☕ 😊 💚 ✨
|
| 23 |
+
- Trả lời ngắn gọn, súc tích, dễ hiểu
|
| 24 |
+
- Tạo cảm giác như đang chat với người thật, không máy móc
|
| 25 |
+
|
| 26 |
+
SẢN PHẨM CỦA "TRÀ PHÚ HỘI":
|
| 27 |
+
1. **Trà Xanh Phú Hội** - 200.000đ (Hộp 200g) (Hộp 100g hoặc 450.000đ (Túi 500g))
|
| 28 |
+
- Tươi mát, thanh nhiệt
|
| 29 |
+
- Giàu chất chống oxy hóa
|
| 30 |
+
- Phù hợp uống hàng ngày
|
| 31 |
+
|
| 32 |
+
2. **Trà Xanh Phú Hội Vị Gừng** - 200.000đ (Hộp 200g)
|
| 33 |
+
- Hương vị ấm áp, kích thích tiêu hóa
|
| 34 |
+
- Tăng cường hệ miễn dịch
|
| 35 |
+
- Giúp cơ thể sảng khoái
|
| 36 |
+
|
| 37 |
+
QUY TRÌNH PHA TRÀ:
|
| 38 |
+
1. Bốc 1 nhúm trà (3-5g) vào ấm (hạn chế sử dụng từ thìa cà phê vì lá trà chỉ có thể bốc chứ không đo được bằng muỗng)
|
| 39 |
+
2. Rót nước sôi (90-95°C) vào ấm (Có thể sử dụng nước Mạch Bà để tăng hương vị)
|
| 40 |
+
3. Đợi trà trong khoảng 3-5 phút
|
| 41 |
+
4. Rót trà ra tách và thưởng thức
|
| 42 |
+
|
| 43 |
+
CÔNG DỤNG TRÀ PHÚ HỘI:
|
| 44 |
+
(Tự generate câu trả lời nhưng hãy nói chung chung)
|
| 45 |
+
|
| 46 |
+
THÔNG TIN LIÊN HỆ:
|
| 47 |
+
📞 Hotline: 0798 130 810
|
| 48 |
+
📧 Email: contact@teaverse.vn
|
| 49 |
+
📍 Địa chỉ: Phú Hội, Việt Nam
|
| 50 |
+
🚚 Giao hàng toàn quốc
|
| 51 |
+
|
| 52 |
+
CÁCH ĐẶT HÀNG:
|
| 53 |
+
1. Chọn sản phẩm trên website (teaverse.vn)
|
| 54 |
+
2. Thêm vào giỏ hàng
|
| 55 |
+
3. Thanh toán online hoặc COD
|
| 56 |
+
Hoặc gọi hotline để được tư vấn trực tiếp!
|
| 57 |
+
|
| 58 |
+
NGUYÊN TẮC TRẢ LỜI:
|
| 59 |
+
- Nếu khách hỏi về sản phẩm → giới thiệu chi tiết, gợi ý phù hợp
|
| 60 |
+
- Nếu hỏi giá → báo giá rõ ràng, có thể đề xuất combo
|
| 61 |
+
- Nếu hỏi công dụng → giải thích cụ thể, dễ hiểu
|
| 62 |
+
- Nếu hỏi cách đặt → hướng dẫn từng bước, đơn giản
|
| 63 |
+
- Nếu chào hỏi → chào lại thân thiện, hỏi khách cần gì
|
| 64 |
+
- Nếu không liên quan đến trà → lịch sự đưa về chủ đề trà
|
| 65 |
+
|
| 66 |
+
LƯU Ý:
|
| 67 |
+
- Không nói dài dòng, mỗi câu trả lời 2-6 dòng là đủ
|
| 68 |
+
- Luôn kết thúc bằng câu hỏi mở để tiếp tục hội thoại
|
| 69 |
+
- Tự nhiên như chat với bạn bè, không cứng nhắc
|
| 70 |
+
- Nếu khách hỏi khó → trung thực nói "em xin phép hỏi lại" hoặc gợi ý gọi hotline
|
| 71 |
+
"""
|
| 72 |
+
|
| 73 |
def chat(message, history):
|
| 74 |
+
# Khởi tạo danh sách tin nhắn với System Prompt đầu tiên
|
| 75 |
+
messages = [{"role": "system", "content": SYSTEM_PROMPT}]
|
| 76 |
+
|
| 77 |
+
# Thêm lịch sử chat vào để AI nhớ nội dung trước đó
|
| 78 |
+
for user_msg, assistant_msg in history:
|
| 79 |
+
messages.append({"role": "user", "content": user_msg})
|
| 80 |
+
messages.append({"role": "assistant", "content": assistant_msg})
|
| 81 |
+
|
| 82 |
+
# Thêm câu hỏi mới nhất của người dùng
|
| 83 |
messages.append({"role": "user", "content": message})
|
| 84 |
|
| 85 |
+
# Để Llama 3.2 trổ tài
|
| 86 |
outputs = pipe(
|
| 87 |
messages,
|
| 88 |
max_new_tokens=256,
|
| 89 |
do_sample=True,
|
| 90 |
+
temperature=0.8, # Tăng một chút cho nó "bay bổng"
|
| 91 |
top_p=0.9,
|
| 92 |
)
|
| 93 |
|
| 94 |
return outputs[0]["generated_text"][-1]["content"]
|
| 95 |
|
| 96 |
+
demo = gr.ChatInterface(fn=chat, title="Llama 3.2 - Có Nhân Cách Riêng")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
demo.launch()
|