Andrewstivan commited on
Commit
2955b08
·
verified ·
1 Parent(s): 5280447

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -74
app.py CHANGED
@@ -1,80 +1,24 @@
1
- from flask import Flask, request, jsonify, render_template_string
2
- import requests
3
- import time
4
-
5
- app = Flask(__name__)
6
-
7
- HTML = '''
8
- <!DOCTYPE html>
9
- <html>
10
- <head>
11
- <title>Aura - поэтичная модель</title>
12
- <meta charset="UTF-8">
13
- <meta name="viewport" content="width=device-width, initial-scale=1">
14
- <style>
15
- body { font-family: sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; background: #1a1a2e; color: #eee; }
16
- textarea { width: 100%; padding: 10px; margin: 10px 0; border-radius: 8px; border: none; background: #16213e; color: white; font-size: 16px; }
17
- button { background: #0f3460; color: white; border: none; padding: 10px 20px; border-radius: 8px; cursor: pointer; font-size: 16px; }
18
- button:hover { background: #e94560; }
19
- #response { background: #16213e; padding: 15px; border-radius: 8px; margin-top: 20px; white-space: pre-wrap; }
20
- .loading { color: #e94560; }
21
- </style>
22
- </head>
23
- <body>
24
- <h1>✨ Aura — поэтичная русская модель</h1>
25
- <textarea id="prompt" rows="3" placeholder="Напишите что-нибудь..."></textarea>
26
- <br>
27
- <button onclick="generate()">Сгенерировать</button>
28
- <div id="response"></div>
29
-
30
- <script>
31
- async function generate() {
32
- const prompt = document.getElementById('prompt').value;
33
- if (!prompt) return;
34
-
35
- const responseDiv = document.getElementById('response');
36
- responseDiv.innerHTML = '<div class="loading">✨ Думаю...</div>';
37
-
38
- try {
39
- const res = await fetch('/generate', {
40
- method: 'POST',
41
- headers: {'Content-Type': 'application/json'},
42
- body: JSON.stringify({prompt: prompt})
43
- });
44
- const data = await res.json();
45
- responseDiv.innerHTML = data.response;
46
- } catch(e) {
47
- responseDiv.innerHTML = 'Ошибка: ' + e.message;
48
- }
49
- }
50
- </script>
51
- </body>
52
- </html>
53
- '''
54
-
55
- # Используем модель напрямую, без отдельного Space
56
  from transformers import pipeline
57
 
58
  print("Loading model...")
59
  pipe = pipeline("text-generation", model="Andrewstivan/AURA", device=-1)
60
  print("Model loaded!")
61
 
62
- @app.route('/')
63
- def index():
64
- return HTML
65
-
66
- @app.route('/generate', methods=['POST'])
67
- def generate():
68
- data = request.get_json()
69
- prompt = data.get('prompt', '')
70
- max_new_tokens = data.get('max_new_tokens', 300)
71
- temperature = data.get('temperature', 0.8)
72
-
73
- try:
74
- result = pipe(prompt, max_new_tokens=max_new_tokens, temperature=temperature, do_sample=True)[0]["generated_text"]
75
- return jsonify({"response": result})
76
- except Exception as e:
77
- return jsonify({"response": f"Ошибка: {e}"})
78
-
79
- if __name__ == "__main__":
80
- app.run(host='0.0.0.0', port=7860)
 
1
+ import gradio as gr
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  from transformers import pipeline
3
 
4
  print("Loading model...")
5
  pipe = pipeline("text-generation", model="Andrewstivan/AURA", device=-1)
6
  print("Model loaded!")
7
 
8
+ def chat(message, history):
9
+ result = pipe(
10
+ message,
11
+ max_new_tokens=300,
12
+ temperature=0.8,
13
+ do_sample=True,
14
+ truncation=True,
15
+ max_length=512
16
+ )
17
+ return result[0]["generated_text"]
18
+
19
+ gr.ChatInterface(
20
+ fn=chat,
21
+ title=" AURA",
22
+ description="Пишите по-русски, модель отвечает на русском",
23
+ theme="soft"
24
+ ).launch()