Rooni commited on
Commit
c8178ad
1 Parent(s): eb4df2e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -51
app.py CHANGED
@@ -4,66 +4,25 @@ import json
4
  import os
5
  import markdown2
6
 
7
- # HTML-код для анимации загрузки
8
- loading_html = """
9
- <div>
10
- <style>
11
- .lds-ring {
12
- display: inline-block;
13
- position: relative;
14
- width: 80px;
15
- height: 80px;
16
- }
17
- .lds-ring div {
18
- box-sizing: border-box;
19
- display: block;
20
- position: absolute;
21
- width: 64px;
22
- height: 64px;
23
- margin: 8px;
24
- border: 8px solid #000;
25
- border-radius: 50%;
26
- animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
27
- border-color: #000 transparent transparent transparent;
28
- }
29
- .lds-ring div:nth-child(1) {
30
- animation-delay: -0.45s;
31
- }
32
- .lds-ring div:nth-child(2) {
33
- animation-delay: -0.3s;
34
- }
35
- .lds-ring div:nth-child(3) {
36
- animation-delay: -0.15s;
37
- }
38
- @keyframes lds-ring {
39
- 0% {
40
- transform: rotate(0deg);
41
- }
42
- 100% {
43
- transform: rotate(360deg);
44
- }
45
- }
46
- </style>
47
- <div class="lds-ring"><div></div><div></div><div></div><div></div></div>
48
- </div>
49
- """
50
-
51
  def generate_minecraft_command(description):
52
- # Оставим это без изменений
53
  headers = {
54
  'Content-Type': 'application/json',
55
  'Authorization': f'Bearer {os.getenv("API_KEY")}'
56
  }
 
57
  payload = {
58
  'messages': [{'role': 'system', 'content': f'{description}'}],
59
  'max_tokens': 10000,
60
  'model': os.getenv("MODEL")
61
  }
 
62
  response = requests.post(os.getenv("BASE_URL"), headers=headers, json=payload)
63
  data = json.loads(response.text)
64
 
65
  if 'choices' in data and len(data['choices']) > 0:
66
  command = data['choices'][0]['message']['content'].strip()
 
 
67
  command_html = markdown2.markdown(command)
68
  return command_html
69
  elif 'error' in data:
@@ -74,9 +33,5 @@ def generate_minecraft_command(description):
74
 
75
  iface = gr.Interface(fn=generate_minecraft_command, inputs=[
76
  gr.Textbox(label="Запрос")
77
- ], outputs=gr.HTML(label="Ответ"), title="GPT")
78
-
79
- # Добавляем анимацию загрузки через HTML
80
- iface.launch(inline=True, examples=[
81
- ["Пример запроса"]
82
- ], examples_per_page=1, enable_queue=True, layout="unaligned", server_port=os.getenv("PORT"))
 
4
  import os
5
  import markdown2
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  def generate_minecraft_command(description):
 
8
  headers = {
9
  'Content-Type': 'application/json',
10
  'Authorization': f'Bearer {os.getenv("API_KEY")}'
11
  }
12
+
13
  payload = {
14
  'messages': [{'role': 'system', 'content': f'{description}'}],
15
  'max_tokens': 10000,
16
  'model': os.getenv("MODEL")
17
  }
18
+
19
  response = requests.post(os.getenv("BASE_URL"), headers=headers, json=payload)
20
  data = json.loads(response.text)
21
 
22
  if 'choices' in data and len(data['choices']) > 0:
23
  command = data['choices'][0]['message']['content'].strip()
24
+
25
+ # Преобразование Markdown в HTML
26
  command_html = markdown2.markdown(command)
27
  return command_html
28
  elif 'error' in data:
 
33
 
34
  iface = gr.Interface(fn=generate_minecraft_command, inputs=[
35
  gr.Textbox(label="Запрос")
36
+ ], outputs=gr.HTML(label="Ответ"), title="GPT") # Используем gr.HTML вместо gr.Textbox
37
+ iface.launch()