cody82 commited on
Commit
e27ef48
·
verified ·
1 Parent(s): 618c126

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -13
app.py CHANGED
@@ -1,30 +1,44 @@
1
  import gradio as gr
2
- from transformers import pipeline
 
 
3
 
4
- # Используем готовую модель — можно заменить на свою
5
- pipe = pipeline("text-generation", model="tiiuae/falcon-rw-1b")
 
 
6
 
7
- def respond(message, history):
 
8
  history = history or []
9
- full_prompt = "Ты — дружелюбный бот, знающий всё об Университете Иннополис.\n"
10
 
11
  for user, bot in history:
12
  full_prompt += f"Пользователь: {user}\nБот: {bot}\n"
13
  full_prompt += f"Пользователь: {message}\nБот:"
14
 
15
- output = pipe(full_prompt, max_new_tokens=200, pad_token_id=50256)[0]["generated_text"]
16
- response = output.split("Бот:")[-1].split("Пользователь:")[0].strip()
 
 
 
 
 
 
 
 
 
17
 
18
  history.append((message, response))
19
  return history
20
 
21
- demo = gr.ChatInterface(
22
  fn=respond,
23
- chatbot=gr.Chatbot(label="Innopolis Bot"),
24
- title="Innopolis Chatbot",
25
- examples=["Когда основан Университет Иннополис?", "Какие программы есть в магистратуре?"],
26
- cache_examples=False # 💥 Ключевая строка, чтобы избежать ошибки
27
  )
28
 
29
  if __name__ == "__main__":
30
- demo.launch()
 
1
  import gradio as gr
2
+ import torch
3
+ from transformers import AutoTokenizer, AutoModelForCausalLM
4
+ import spaces # ← обязательно для ZeroGPU
5
 
6
+ model_name = "cody82/unitrip"
7
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name)
9
+ model.to("cuda" if torch.cuda.is_available() else "cpu")
10
 
11
+ @spaces.GPU # 💥 Без этого ZeroGPU не сработает!
12
+ def respond(message, history=[]):
13
  history = history or []
14
+ full_prompt = "Ты — ассистент, который знает всё об Университете Иннополис.\n"
15
 
16
  for user, bot in history:
17
  full_prompt += f"Пользователь: {user}\nБот: {bot}\n"
18
  full_prompt += f"Пользователь: {message}\nБот:"
19
 
20
+ inputs = tokenizer(full_prompt, return_tensors="pt").to(model.device)
21
+ outputs = model.generate(
22
+ **inputs,
23
+ max_new_tokens=200,
24
+ do_sample=True,
25
+ temperature=0.7,
26
+ top_p=0.9,
27
+ pad_token_id=tokenizer.eos_token_id
28
+ )
29
+ output_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
30
+ response = output_text.split("Бот:")[-1].strip()
31
 
32
  history.append((message, response))
33
  return history
34
 
35
+ chat = gr.ChatInterface(
36
  fn=respond,
37
+ title="Innopolis Bot",
38
+ chatbot=gr.Chatbot(label="Unitrip"),
39
+ examples=["Когда основан Университет Иннополис?", "Сколько программ бакалавриата?"],
40
+ cache_examples=False
41
  )
42
 
43
  if __name__ == "__main__":
44
+ chat.launch()