fixes_v1
Browse files- app.py +6 -46
- search_errors_logic.py +9 -1
app.py
CHANGED
@@ -9,48 +9,6 @@ import mammoth
|
|
9 |
from io import BytesIO
|
10 |
|
11 |
is_java_installed = False
|
12 |
-
prompt = """
|
13 |
-
Ты должен писать комментарии об ошибках в тексте.
|
14 |
-
Тебе дан кусок текст, в котором есть ошибка, контекст, в котором стоит это слово и сообщение об ошибке. Твоя задача - кратко описать суть ошибки и, если необходимо, исправить её.
|
15 |
-
Исправляй только ту ошибку, на которую указывает сообщение. Отвечай на русском языке.
|
16 |
-
|
17 |
-
### Пример 1:
|
18 |
-
Кусок текста:
|
19 |
-
"кросивую"
|
20 |
-
|
21 |
-
Сообщение об ошибке:
|
22 |
-
"Возможно найдена орфографическая ошибка."
|
23 |
-
|
24 |
-
Текст:
|
25 |
-
"...т! Сегодня я был в парке и встретил там кросивую собаку. Она повиляла хвостом и побежа..."
|
26 |
-
|
27 |
-
Твой ответ:
|
28 |
-
Орфографическая ошибка в слове "кросивую" - правильно "красивую".
|
29 |
-
|
30 |
-
### Пример 2:
|
31 |
-
Кусок текста:
|
32 |
-
" "
|
33 |
-
|
34 |
-
Сообщение об ошибке:
|
35 |
-
"Повтор пробела."
|
36 |
-
|
37 |
-
Текст:
|
38 |
-
"...ретил там кросивую собаку. Она повиляла хвостом и побежала к речке. Я решил что ..."
|
39 |
-
|
40 |
-
Твой ответ:
|
41 |
-
Обнаружен повтор пробела между словами.
|
42 |
-
|
43 |
-
Теперь твоя очередь:
|
44 |
-
Кусок текста:
|
45 |
-
"{}"
|
46 |
-
|
47 |
-
Сообщение об ошибке:
|
48 |
-
"{}"
|
49 |
-
|
50 |
-
Текст:
|
51 |
-
"{}"
|
52 |
-
"""
|
53 |
-
|
54 |
|
55 |
def install_java():
|
56 |
global is_java_installed
|
@@ -69,8 +27,8 @@ def install_java():
|
|
69 |
def load_assets():
|
70 |
openai.api_key = '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'
|
71 |
install_java()
|
72 |
-
tool = language_tool_python.LanguageTool('ru-RU',
|
73 |
-
|
74 |
return tool
|
75 |
|
76 |
|
@@ -81,8 +39,10 @@ def load_assets():
|
|
81 |
# full_text.append(para.text)
|
82 |
# return "\n".join(full_text)
|
83 |
def extract_text_from_docx(file):
|
84 |
-
|
85 |
-
|
|
|
|
|
86 |
|
87 |
|
88 |
def main():
|
|
|
9 |
from io import BytesIO
|
10 |
|
11 |
is_java_installed = False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
def install_java():
|
14 |
global is_java_installed
|
|
|
27 |
def load_assets():
|
28 |
openai.api_key = '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'
|
29 |
install_java()
|
30 |
+
#tool = language_tool_python.LanguageTool('ru-RU', language_tool_download_version="6.1")
|
31 |
+
tool = None
|
32 |
return tool
|
33 |
|
34 |
|
|
|
39 |
# full_text.append(para.text)
|
40 |
# return "\n".join(full_text)
|
41 |
def extract_text_from_docx(file):
|
42 |
+
text = mammoth.convert_to_markdown(file).value
|
43 |
+
#for symbol in ".,!?()[]:;":
|
44 |
+
# text = text.replace(f"\{symbol}", symbol)
|
45 |
+
return text
|
46 |
|
47 |
|
48 |
def main():
|
search_errors_logic.py
CHANGED
@@ -3,7 +3,8 @@ from openai import OpenAI
|
|
3 |
import difflib
|
4 |
|
5 |
prompt_fix_text_gpt = """
|
6 |
-
Исправь ошибки в данном тексте.
|
|
|
7 |
Исправляй грамматические, пунктуационные и орфоргафические ошибки.
|
8 |
Логические, лексические, стилистические ошибки, а также ошибки форматирования (напрмер неправильные переносы строки) ошибками не считаются!!! Их исправлять не надо
|
9 |
Буква "е" вместо буквы "ё" не считается ошибкой.
|
@@ -172,6 +173,13 @@ def add_comments_to_text(text, errors, add_errors=False):
|
|
172 |
error['start'] += shift
|
173 |
error['end'] += shift
|
174 |
inp = f"({i})"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
if add_errors:
|
176 |
inp = inp[:-1] + ' - ' + error['message'] + ')'
|
177 |
text = text[:error['end']] + inp + text[error['end']:]
|
|
|
3 |
import difflib
|
4 |
|
5 |
prompt_fix_text_gpt = """
|
6 |
+
Исправь ошибки в данном тексте. Текст в makrdown и должен в результате остаться в markdown.
|
7 |
+
Жаргонизмы считаются ошибками, приемлим только официальный стиль.
|
8 |
Исправляй грамматические, пунктуационные и орфоргафические ошибки.
|
9 |
Логические, лексические, стилистические ошибки, а также ошибки форматирования (напрмер неправильные переносы строки) ошибками не считаются!!! Их исправлять не надо
|
10 |
Буква "е" вместо буквы "ё" не считается ошибкой.
|
|
|
173 |
error['start'] += shift
|
174 |
error['end'] += shift
|
175 |
inp = f"({i})"
|
176 |
+
|
177 |
+
end_place = error["end"]
|
178 |
+
for i in range(end_place, end_place - 5, -1):
|
179 |
+
symbol = text[i - 1]
|
180 |
+
if symbol.isalpha() or symbol in ",.!?:;":
|
181 |
+
break
|
182 |
+
error["end"] -= 1
|
183 |
if add_errors:
|
184 |
inp = inp[:-1] + ' - ' + error['message'] + ')'
|
185 |
text = text[:error['end']] + inp + text[error['end']:]
|