bot_innopolis / app.py
cody82's picture
Update app.py
9d9c29a verified
raw
history blame
1.42 kB
import torch
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoConfig
model_path = "cody82/unitrip" # путь к локальной модели
config = AutoConfig.from_pretrained(model_path, local_files_only=True)
tokenizer = AutoTokenizer.from_pretrained(model_path, local_files_only=True)
model = AutoModelForCausalLM.from_pretrained(
model_path,
config=config,
local_files_only=True,
torch_dtype=torch.float32,
device_map="auto" if torch.cuda.is_available() else None,
)
system_message = "Ты — умный помощник по Университету Иннополис."
def respond(message, history=None):
if history is None:
history = []
prompt = f"{system_message}\nUser: {message}\nAssistant:"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=128,
do_sample=False,
pad_token_id=tokenizer.eos_token_id,
eos_token_id=tokenizer.eos_token_id,
use_cache=True,
)
generated_tokens = outputs[0][inputs["input_ids"].shape[1]:]
answer = tokenizer.decode(generated_tokens, skip_special_tokens=True).strip()
history.append((message, answer))
return history
chat = gr.ChatInterface(fn=respond, title="Innopolis Assistant")
chat.launch()