bvd757 commited on
Commit
a532349
·
1 Parent(s): 0498a33
Files changed (1) hide show
  1. app.py +18 -8
app.py CHANGED
@@ -9,10 +9,14 @@ from io import BytesIO
9
 
10
  is_java_installed = False
11
  prompt = """
12
- Тебе дан текст и сообщение об ошибке. Твоя задача - кратко описать суть ошибки и, если необходимо, исправить её.
 
13
  Исправляй только ту ошибку, на которую указывает сообщение. Отвечай на русском языке.
14
 
15
  ### Пример 1:
 
 
 
16
  Сообщение об ошибке:
17
  "Возможно найдена орфографическая ошибка."
18
 
@@ -23,6 +27,9 @@ prompt = """
23
  Орфографическая ошибка в слове "кросивую" - правильно "красивую".
24
 
25
  ### Пример 2:
 
 
 
26
  Сообщение об ошибке:
27
  "Повтор пробела."
28
 
@@ -33,11 +40,14 @@ prompt = """
33
  Обнаружен повтор пробела между словами.
34
 
35
  Теперь твоя очередь:
 
 
 
36
  Сообщение об ошибке:
37
- {}
38
 
39
  Текст:
40
- {}
41
  """
42
 
43
 
@@ -63,11 +73,11 @@ def load_assets():
63
  return tool
64
 
65
 
66
- def generate_gpt_comment(message, context):
67
  response = openai.ChatCompletion.create(
68
  model="gpt-4o-mini",
69
  messages=[
70
- {"role": "user", "content": prompt.format(message, context)}
71
  ]
72
  )
73
  return response.choices[0].message['content']
@@ -80,7 +90,7 @@ def check_text(text, tool):
80
  error_info = {
81
  'start': match.offset,
82
  'end': match.offset + match.errorLength,
83
- 'message': generate_gpt_comment(match.message, match.context),
84
  }
85
  errors.append(error_info)
86
 
@@ -94,7 +104,7 @@ def check_text(text, tool):
94
  text = text[:error['end']] + inp + text[error['end']:]
95
  shift += len(inp)
96
 
97
- return text, errors
98
 
99
 
100
  def extract_text_from_docx(file):
@@ -152,7 +162,7 @@ def main():
152
  except Exception as e:
153
  st.error(f"Ошибка при чтении файла: {e}")
154
  else:
155
- text = st.text_area("Введите текст для проверки:", height=200, key="manual_text").replace("\n", " ")
156
 
157
  tool = load_assets()
158
 
 
9
 
10
  is_java_installed = False
11
  prompt = """
12
+ Ты должен писать комментарии об ошибках в тексте.
13
+ Тебе дан кусок текст, в котором есть ошибка, контекст, в котором стоит это слово и сообщение об ошибке. Твоя задача - кратко описать суть ошибки и, если необходимо, исправить её.
14
  Исправляй только ту ошибку, на которую указывает сообщение. Отвечай на русском языке.
15
 
16
  ### Пример 1:
17
+ Кусок текста:
18
+ "кросивую"
19
+
20
  Сообщение об ошибке:
21
  "Возможно найдена орфографическая ошибка."
22
 
 
27
  Орфографическая ошибка в слове "кросивую" - правильно "красивую".
28
 
29
  ### Пример 2:
30
+ Кусок текста:
31
+ " "
32
+
33
  Сообщение об ошибке:
34
  "Повтор пробела."
35
 
 
40
  Обнаружен повтор пробела между словами.
41
 
42
  Теперь твоя очередь:
43
+ Кусок текста:
44
+ "{}"
45
+
46
  Сообщение об ошибке:
47
+ "{}"
48
 
49
  Текст:
50
+ "{}"
51
  """
52
 
53
 
 
73
  return tool
74
 
75
 
76
+ def generate_gpt_comment(piece_or_text, message, context):
77
  response = openai.ChatCompletion.create(
78
  model="gpt-4o-mini",
79
  messages=[
80
+ {"role": "user", "content": prompt.format(piece_or_text, message, context)}
81
  ]
82
  )
83
  return response.choices[0].message['content']
 
90
  error_info = {
91
  'start': match.offset,
92
  'end': match.offset + match.errorLength,
93
+ 'message': generate_gpt_comment(text[match.offset:match.offset + match.errorLength], match.message, match.context),
94
  }
95
  errors.append(error_info)
96
 
 
104
  text = text[:error['end']] + inp + text[error['end']:]
105
  shift += len(inp)
106
 
107
+ return text.replace("\n", " "), errors
108
 
109
 
110
  def extract_text_from_docx(file):
 
162
  except Exception as e:
163
  st.error(f"Ошибка при чтении файла: {e}")
164
  else:
165
+ text = st.text_area("Введите текст для проверки:", height=200, key="manual_text")
166
 
167
  tool = load_assets()
168