PitterTMYT commited on
Commit
3d2becb
·
verified ·
1 Parent(s): 3ec5e4c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -27
app.py CHANGED
@@ -1,17 +1,12 @@
1
- import os
2
- from flask import Flask, request, jsonify
3
  import torch
4
  from transformers import AutoTokenizer, AutoModelForCausalLM
5
  from huggingface_hub import login
6
 
7
- app = Flask(__name__)
8
-
9
  def init_model():
10
  global model, tokenizer
11
- hf_token = os.getenv("HF_TOKEN") # Чтение токена из переменной окружения
12
-
13
- if hf_token is None:
14
- raise ValueError("Hugging Face token is not set. Please set the HF_TOKEN environment variable.")
15
 
16
  # Аутентификация с использованием токена
17
  login(hf_token, add_to_git_credential=True)
@@ -29,18 +24,8 @@ def init_model():
29
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
30
  model.to(device)
31
 
32
- @app.route('/generate', methods=['POST'])
33
- def generate_response():
34
  try:
35
- data = request.get_json()
36
- print(f"Received data: {data}")
37
-
38
- prompt = data.get('prompt', '')
39
- max_length = data.get('max_length', 100)
40
- temperature = data.get('temperature', 0.7)
41
- top_p = data.get('top_p', 0.85)
42
- repetition_penalty = data.get('repetition_penalty', 1.1)
43
-
44
  input_ids = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
45
  attention_mask = torch.ones_like(input_ids).to(model.device)
46
 
@@ -55,15 +40,28 @@ def generate_response():
55
  num_return_sequences=1,
56
  pad_token_id=tokenizer.eos_token_id
57
  )
58
- print(f"Generated output: {output}")
59
  response_text = tokenizer.decode(output[0], skip_special_tokens=True)
60
- print(f"Generated response: {response_text}")
61
- return jsonify({"response": response_text})
62
-
63
  except Exception as e:
64
- print(f"Error: {str(e)}")
65
- return jsonify({"response": "Извините, произошла ошибка при генерации ответа."}), 500
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
 
67
  if __name__ == "__main__":
68
- init_model()
69
- app.run(host='0.0.0.0', port=7860)
 
1
+ import gradio as gr
 
2
  import torch
3
  from transformers import AutoTokenizer, AutoModelForCausalLM
4
  from huggingface_hub import login
5
 
 
 
6
  def init_model():
7
  global model, tokenizer
8
+ # Вставьте сюда ваш токен доступа Hugging Face
9
+ hf_token = os.getenv("HF_TOKEN")
 
 
10
 
11
  # Аутентификация с использованием токена
12
  login(hf_token, add_to_git_credential=True)
 
24
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
25
  model.to(device)
26
 
27
+ def generate_response(prompt, max_length=100, temperature=0.7, top_p=0.85, repetition_penalty=1.1):
 
28
  try:
 
 
 
 
 
 
 
 
 
29
  input_ids = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
30
  attention_mask = torch.ones_like(input_ids).to(model.device)
31
 
 
40
  num_return_sequences=1,
41
  pad_token_id=tokenizer.eos_token_id
42
  )
 
43
  response_text = tokenizer.decode(output[0], skip_special_tokens=True)
44
+ return response_text
 
 
45
  except Exception as e:
46
+ return f"Извините, произошла ошибка при генерации ответа: {str(e)}"
47
+
48
+ # Инициализация модели и токенизатора
49
+ init_model()
50
+
51
+ # Создание интерфейса Gradio
52
+ iface = gr.Interface(
53
+ fn=generate_response,
54
+ inputs=[
55
+ gr.inputs.Textbox(lines=2, placeholder="Введите ваш текст здесь..."),
56
+ gr.inputs.Slider(20, 200, step=1, default=100, label="Максимальная длина"),
57
+ gr.inputs.Slider(0.1, 1.0, step=0.1, default=0.7, label="Температура"),
58
+ gr.inputs.Slider(0.1, 1.0, step=0.05, default=0.85, label="Top-p"),
59
+ gr.inputs.Slider(1.0, 2.0, step=0.1, default=1.1, label="Штраф за повторение")
60
+ ],
61
+ outputs="text",
62
+ title="LLM Model Demo",
63
+ description="Введите текстовый запрос, чтобы сгенерировать ответ с помощью LLM модели."
64
+ )
65
 
66
  if __name__ == "__main__":
67
+ iface.launch()