serg291 commited on
Commit
3ba582a
·
verified ·
1 Parent(s): b48fb77

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -27
app.py CHANGED
@@ -1,40 +1,26 @@
1
  import gradio as gr
2
- from transformers import AutoTokenizer, AutoModelForCausalLM
3
- import torch
4
- import os
5
 
6
- # Offload папка
7
- offload_dir = "./offload"
8
- os.makedirs(offload_dir, exist_ok=True)
9
-
10
- # Модель
11
- model_name = "IlyaGusev/saiga_llama3_8b"
12
- tokenizer = AutoTokenizer.from_pretrained(model_name)
13
- model = AutoModelForCausalLM.from_pretrained(
14
- model_name,
15
- torch_dtype=torch.float16,
16
- device_map="auto",
17
- low_cpu_mem_usage=True,
18
- offload_folder=offload_dir
19
- )
20
 
21
  def chat(message, history):
22
- prompt = f"<s>[INST] Ты полезный ассистент на русском. Отвечай кратко, точно и дружелюбно. [/INST] {message} [/INST]"
23
- inputs = tokenizer(prompt, return_tensors="pt")
24
- outputs = model.generate(**inputs, max_new_tokens=50, temperature=0.5, do_sample=True, pad_token_id=tokenizer.eos_token_id) # Укоротили для скорости
25
- response = tokenizer.decode(outputs[0], skip_special_tokens=True)
26
- ai_reply = response.split("[/INST]")[-1].strip()
27
  history.append((message, ai_reply))
28
  return history, ""
29
 
30
- # Интерфейс
31
- with gr.Blocks(title="Большой Русский Чат") as demo:
32
- gr.Markdown("# 🚀 Большой ИИ-Чат на русском (Saiga 8B)\nСпрашивай умные вопросы!")
33
  chatbot = gr.Chatbot(height=400)
34
- msg = gr.Textbox(placeholder="Например: 'Объясни квантовую физику'")
35
  clear = gr.Button("Очистить")
36
  msg.submit(chat, [msg, chatbot], [chatbot, msg])
37
- clear.click(lambda: [], None, chatbot, queue=False)
38
 
39
  if __name__ == "__main__":
40
  demo.launch()
 
1
  import gradio as gr
2
+ from transformers import pipeline
 
 
3
 
4
+ # Меньшая русская модель (работает на free tier)
5
+ generator = pipeline("text-generation", model="sberbank-ai/rugpt3small_based_on_gpt2")
 
 
 
 
 
 
 
 
 
 
 
 
6
 
7
  def chat(message, history):
8
+ # Промпт для стиля ChatGPT на русском
9
+ prompt = f"Ты полезный ассистент. Отвечай кратко и точно. Вопрос: {message}\nОтвет:"
10
+ response = generator(prompt, max_length=100, num_return_sequences=1, temperature=0.8)[0]['generated_text']
11
+ # Извлекаем ответ
12
+ ai_reply = response.split("Ответ:")[-1].strip()
13
  history.append((message, ai_reply))
14
  return history, ""
15
 
16
+ # Интерфейс чата
17
+ with gr.Blocks(title="Русский Чат-Бот") as demo:
18
+ gr.Markdown("# Бесплатный ИИ-Чат на русском\nСпрашивай что угодно!")
19
  chatbot = gr.Chatbot(height=400)
20
+ msg = gr.Textbox(placeholder="Напиши сообщение на русском...")
21
  clear = gr.Button("Очистить")
22
  msg.submit(chat, [msg, chatbot], [chatbot, msg])
23
+ clear.click(lambda: None, None, chatbot, queue=False)
24
 
25
  if __name__ == "__main__":
26
  demo.launch()