Chatbot-AI / app.py
DuongTrongChi's picture
Update app.py
a5b6e0b verified
import json
import random
import gradio as gr
from tqdm import tqdm
from datasets import load_dataset
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
pipeline,
TextStreamer
)
from accelerate import disk_offload
model = AutoModelForCausalLM.from_pretrained(
'DuongTrongChi/Rikka-1.8B-v2.2',
torch_dtype="auto",
device_map="auto"
)
disk_offload(model=model, offload_dir="offload")
tokenizer = AutoTokenizer.from_pretrained('DuongTrongChi/Rikka-1.8B-v2.2')
eos_token = tokenizer("<|im_end|>",add_special_tokens=False)["input_ids"][0]
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
def chat(message, history=None):
def chat_template(message):
system_prompt = """Bạn là một trợ lý hữu ích, tôn trọng và trung thực. Luôn trả lời một cách hữu ích nhất có thể trong khi vẫn an toàn. """
return [
{"role": "system", "content": system_prompt},
{"role": "question", "content": message}
]
prompt = pipe.tokenizer.apply_chat_template(chat_template(message), tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=512, do_sample=True, temperature=0.3, top_k=50, top_p=0.95, eos_token_id=eos_token, pad_token_id=eos_token)
return outputs[0]['generated_text'][len(prompt):].strip()
gr.ChatInterface(chat).launch()