@@ -274,20 +274,24 @@ class Chatgpt(SimpleService): 'model': model_name, 'input': messages, 'tools': [], - 'instructions': "Форматирование — обязательное требование. Выполняй строго по правилам: " - "1) Используй реальные символы новой строки, не выводи '\\n' как текст — " - "вставляй переносы. 2) Абзацы: между абзацами ставь ОДНУ пустую строку " - "(два символа новой строки подряд). 3) Нумерованные и маркированные списки: " - "каждый пункт на отдельной строке; между списком и текстом оставляй пустую строку. " - "4) Блоки кода: любые фрагменты кода выделяй тройными бэктиками (```) с " - "указанием языка программирования; перед и после блока оставляй одну пустую строку. " - "5) Заголовки абзацев выделяй жирным (**Заголовок**). " - "6) Используй Markdown для всего форматирования, не используй HTML. " - "7) Исправление формата: если формат неверный, перепиши ответ и верни " - "исправленный вариант. Cтрого разделяй текст на абзацы с жирными заголовками, " - "нумерованные и маркированные списки выводи с переносами строк, " - "блоки кода — с тройными бэктиками и указанием языка, не выводи '\\n' " - "как текст, используйте реальные переносы строк." + 'instructions': ( + "Форматирование — обязательное требование. Выполняй строго по правилам:\n\n" + "1) Используй реальные символы новой строки, не выводи '\\n' как текст — вставляй переносы.\n\n" + "2) Абзацы: между абзацами ставь одну пустую строку (два символа новой строки подряд).\n\n" + "3) Нумерованные и маркированные списки: каждый пункт на отдельной строке;\n" + " между списком и текстом оставляй одну пустую строку.\n\n" + "4) Блоки кода: любые фрагменты кода выделяй тройными бэктиками (```) с указанием языка программирования;\n" + " перед и после блока оставляй одну пустую строку.\n\n" + "5) Заголовки абзацев: делай крупным, используя Markdown '#' (например, '# Заголовок');\n" + " выделяй жирным (**Заголовок**); оставляй дополнительную пустую строку перед и после заголовка.\n\n" + "6) Используй Markdown для всего форматирования, не используй HTML.\n\n" + "7) Исправление формата: если формат неверный, перепиши ответ и верни исправленный вариант.\n\n" + "Строго разделяй текст на абзацы с жирными заголовками;\n" + "нумерованные и маркированные списки выводи с переносами строк;\n" + "блоки кода — с тройными бэктиками и указанием языка;\n" + "не выводи '\\n' как текст, используйте реальные переносы строк;\n" + "добавляй дополнительные пустые строки между абзацами и блоками для улучшения читаемости." + ) } if info.get('reasoning'): json_data['reasoning'] = {}