SimrusDenuvo commited on
Commit
57645e8
·
verified ·
1 Parent(s): eaa75b3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -22
app.py CHANGED
@@ -1,34 +1,36 @@
1
- # banking_prompting_app.py
2
-
3
- import gradio as gr
4
- from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
5
  import torch
 
6
 
7
- # Используем модель Flan-T5 или Sberbank AI
8
- model_name = "cointegrated/rugpt2-large" # Можно заменить на sberbank-ai/rugpt3small или другую
9
 
10
  tokenizer = AutoTokenizer.from_pretrained(model_name)
11
- model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
12
 
13
  def generate_response(user_query):
14
- # Промпт можно адаптировать под нужную задачу (обслуживание клиентов / антифрод)
15
- prompt = f"Отвечай как банковский ассистент. Вопрос клиента: {user_query}"
16
 
17
- inputs = tokenizer(prompt, return_tensors="pt", max_length=512, truncation=True)
18
  with torch.no_grad():
19
- outputs = model.generate(**inputs, max_new_tokens=100)
20
-
21
- response = tokenizer.decode(outputs[0], skip_special_tokens=True)
 
 
 
 
 
 
 
 
 
22
  return response
23
 
24
- # Интерфейс Gradio
25
- iface = gr.Interface(
26
  fn=generate_response,
27
- inputs=gr.Textbox(lines=4, label="Введите банковский запрос клиента"),
28
- outputs=gr.Textbox(lines=6, label="Ответ модели"),
29
- title="🤖 Помощник по банковским вопросам",
30
- description="Эта система использует LLM и технологии промптинга для обслуживания клиентов в банковской сфере."
31
- )
32
 
33
- if __name__ == "__main__":
34
- iface.launch()
 
1
+ from transformers import AutoTokenizer, AutoModelForCausalLM
 
 
 
2
  import torch
3
+ import gradio as gr
4
 
5
+ model_name = "ai-forever/rugpt3large_based_on_gpt2"
 
6
 
7
  tokenizer = AutoTokenizer.from_pretrained(model_name)
8
+ model = AutoModelForCausalLM.from_pretrained(model_name)
9
 
10
  def generate_response(user_query):
11
+ prompt = f"Клиент: {user_query}\nБанк:"
12
+ input_ids = tokenizer.encode(prompt, return_tensors="pt")
13
 
 
14
  with torch.no_grad():
15
+ output_ids = model.generate(
16
+ input_ids,
17
+ max_new_tokens=100,
18
+ do_sample=True,
19
+ temperature=0.7,
20
+ top_k=50,
21
+ top_p=0.95,
22
+ pad_token_id=tokenizer.eos_token_id
23
+ )
24
+
25
+ generated_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
26
+ response = generated_text[len(prompt):].strip()
27
  return response
28
 
29
+ gr.Interface(
 
30
  fn=generate_response,
31
+ inputs=gr.Textbox(lines=3, label="Введите банковский запрос"),
32
+ outputs=gr.Textbox(lines=5, label="Ответ модели"),
33
+ title="🤖 Русский банковский помощник",
34
+ description="Генерация ответа на русском языке с использованием модели RuGPT-3 от AI-Forever."
35
+ ).launch(share=True)
36