Spaces:
Paused
Paused
...
Browse files- TASKS.md +8 -4
- app/knowledge_base/Presentation_PPP.md +136 -0
- app/knowledge_base/lesson_frameworks.md +27 -1
- app/knowledge_base/test.md +7 -1
- app/prompt_builder/prompt.py +239 -22
- app/test_gradio_test.py +27 -18
TASKS.md
CHANGED
|
@@ -28,15 +28,19 @@
|
|
| 28 |
|
| 29 |
[ ] можно превратить в интерактивный обучающий курс. Где части плана объясняются, поясняется методика, даются ссылки на видео с уроками и тд. Вдохновение: https://maxenglishcorner.com/lessons/teaching-ideas/teaching-ideas-7-lesson-planning-ppp-model/
|
| 30 |
[ ] эту идею описать в портфолио как продолжение MVP
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
[ ]
|
|
|
|
|
|
|
| 33 |
## in progress
|
| 34 |
-
|
| 35 |
[ ] автозаполнение поля Учебник (по словарю)
|
| 36 |
[ ] закомментить параметры, которые не будут в релизе - прописать к ним логику развития
|
| 37 |
[ ] 2-3 страницы в input
|
| 38 |
[ ] web search
|
| 39 |
-
|
| 40 |
|
| 41 |
|
| 42 |
## done
|
|
@@ -48,7 +52,7 @@
|
|
| 48 |
[x] проверка различных основных учебников
|
| 49 |
[x] промпт для методики PPP - динамический
|
| 50 |
[x] параметры корректно передаются в промпт динамически
|
| 51 |
-
|
| 52 |
Нужен ли поиск по web?
|
| 53 |
Да, если это подкрепляет vision
|
| 54 |
Нужен ли поиск по БЗ?
|
|
|
|
| 28 |
|
| 29 |
[ ] можно превратить в интерактивный обучающий курс. Где части плана объясняются, поясняется методика, даются ссылки на видео с уроками и тд. Вдохновение: https://maxenglishcorner.com/lessons/teaching-ideas/teaching-ideas-7-lesson-planning-ppp-model/
|
| 30 |
[ ] эту идею описать в портфолио как продолжение MVP
|
| 31 |
+
[ ] модальность аудио - нужна или нет? Мб инструкция о том, что нужен транскрипт аудио + контекст ситуации (возможно в будущем через базу знаний)
|
| 32 |
+
[ ] виртуальный урок
|
| 33 |
|
| 34 |
+
[ ] опция "игровой урок" - не опираемся на материал. Используем когда нужен урок-разгрузка (после контрольной например, или учитель хочет "праздника")
|
| 35 |
+
|
| 36 |
+
[] EVAL!
|
| 37 |
## in progress
|
| 38 |
+
|
| 39 |
[ ] автозаполнение поля Учебник (по словарю)
|
| 40 |
[ ] закомментить параметры, которые не будут в релизе - прописать к ним логику развития
|
| 41 |
[ ] 2-3 страницы в input
|
| 42 |
[ ] web search
|
| 43 |
+
[ ] сравнение промптов - короткий/длинный
|
| 44 |
|
| 45 |
|
| 46 |
## done
|
|
|
|
| 52 |
[x] проверка различных основных учебников
|
| 53 |
[x] промпт для методики PPP - динамический
|
| 54 |
[x] параметры корректно передаются в промпт динамически
|
| 55 |
+
[x] интерфейс, аналогичный logoKonspekt
|
| 56 |
Нужен ли поиск по web?
|
| 57 |
Да, если это подкрепляет vision
|
| 58 |
Нужен ли поиск по БЗ?
|
app/knowledge_base/Presentation_PPP.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Ниже ты найдёшь широкий набор приёмов и активностей для Presentation-этапа (P) в модели PPP. Эти техники помогут наглядно и осмысленно ввести новую целевую языковую структуру (TL), учитывая разные стили восприятия учащихся (визуальный, аудиальный, кинестетический) и создавая мотивационный контекст.
|
| 2 |
+
|
| 3 |
+
Краткий обзор ключевых находок
|
| 4 |
+
Контекстуализация: постановка в жизненную или игровую ситуацию (либо через картинки, видео, диалог), чтобы ученики «ощутили» смысл TL перед формальным объяснением
|
| 5 |
+
SEE TEFL
|
| 6 |
+
.
|
| 7 |
+
|
| 8 |
+
Эллицитация (eliciting) и guided discovery: через наводящие вопросы, пъзлы, задания на соответствие ученики сами «открывают» форму, значение и произношение TL
|
| 9 |
+
cambridgeenglish.org
|
| 10 |
+
.
|
| 11 |
+
|
| 12 |
+
Мимика и жесты (TPR): демонстрация значений лексики/структуры телом, что особенно эффективно для начинающих
|
| 13 |
+
cambridgeenglish.org
|
| 14 |
+
.
|
| 15 |
+
|
| 16 |
+
Визуальные опоры: реальные предметы (realia), иллюстрации, схемы, таблицы, mind-maps, чтобы снизить языковой шум и усилить восприятие
|
| 17 |
+
SEE TEFL
|
| 18 |
+
.
|
| 19 |
+
|
| 20 |
+
Аутентичные материалы и истории: короткие диалоги, видео-/аудиофрагменты, рассказы, чтобы показать TL в «реальной жизни»
|
| 21 |
+
www.slideshare.net
|
| 22 |
+
Sanako
|
| 23 |
+
.
|
| 24 |
+
|
| 25 |
+
Концептуальная проверка (Concept checking questions, CCQ): простые вопросы на понимание, не «Понимаете? – Да», а «When do we use it?», «Who does it?»
|
| 26 |
+
cambridgeenglish.org
|
| 27 |
+
.
|
| 28 |
+
|
| 29 |
+
1. Введение через контекст (Lead-In / Setting the Scene)
|
| 30 |
+
1.1 Карточки с картинками или фотографиями
|
| 31 |
+
Покажи яркие фото/иллюстрации, стимулирующие тему (например, путешествия, еда) и попроси описать, что происходит на картинках, вызывая нужную лексику
|
| 32 |
+
SEE TEFL
|
| 33 |
+
.
|
| 34 |
+
|
| 35 |
+
Вариант: пара «найди отличие» – два почти одинаковых рисунка, чтобы ученики описывали детали, используя TL
|
| 36 |
+
costaricatesol.com
|
| 37 |
+
.
|
| 38 |
+
|
| 39 |
+
1.2 Видео/аудио в начале
|
| 40 |
+
Короткий ролик (30 – 60 с) или аудиофрагмент, где звучит TL в контексте.
|
| 41 |
+
|
| 42 |
+
После просмотра задать вопросы на понимание («What did you hear? Who said it? Where?»)
|
| 43 |
+
YouTube
|
| 44 |
+
.
|
| 45 |
+
|
| 46 |
+
1.3 Мини-диалог или сценка
|
| 47 |
+
Учитель и ассистент разыгрывают диалог с TL, затем учащиеся инсценируют его в парах
|
| 48 |
+
Sanako
|
| 49 |
+
.
|
| 50 |
+
|
| 51 |
+
Можно использовать липкий театр (puppets) или реквизит (realia) для вовлечения.
|
| 52 |
+
|
| 53 |
+
2. Guided Discovery и эллицитация
|
| 54 |
+
2.1 Наводящие вопросы (Eliciting)
|
| 55 |
+
Попроси учеников самим предположить правило: «How do we form past simple? Look at these sentences: … What do you notice?»
|
| 56 |
+
Sanako
|
| 57 |
+
.
|
| 58 |
+
|
| 59 |
+
Пиши ответы учеников на доске, структурируй вместе с ними форму и использование.
|
| 60 |
+
|
| 61 |
+
2.2 Пазлы и карточки с фразами
|
| 62 |
+
Разрежь примерные предложения на части (subject, verb, object) – ученики собирают их, открывая порядок слов
|
| 63 |
+
cambridgeenglish.org
|
| 64 |
+
.
|
| 65 |
+
|
| 66 |
+
Карточки «форма – значение – произношение»: в группах находят соответствия.
|
| 67 |
+
|
| 68 |
+
2.3 Концептуальные вопросы (CCQ)
|
| 69 |
+
Вместо «Понимаете?» задавай хитрые проверки: «If I say “I have been to London”, is it about now or before now?»
|
| 70 |
+
cambridgeenglish.org
|
| 71 |
+
.
|
| 72 |
+
|
| 73 |
+
Используй разноуровневые вопросы: да/нет, горячий стул, мини-опрос.
|
| 74 |
+
|
| 75 |
+
3. Демонстрация через тело (TPR и мимика)
|
| 76 |
+
3.1 Total Physical Response (TPR)
|
| 77 |
+
Для глаголов: «jump», «sit down», «turn around» – демонстрируй действие, ученики повторяют
|
| 78 |
+
cambridgeenglish.org
|
| 79 |
+
.
|
| 80 |
+
|
| 81 |
+
Для абстрактных структур: изобрази временные маркеры (часики на руке – present, стрелка назад – past).
|
| 82 |
+
|
| 83 |
+
3.2 Жесты и пантомима
|
| 84 |
+
Подчёркивай ключевые слова жестами: «big» – широко расставленные руки; «small» – пальцы вместе
|
| 85 |
+
cambridgeenglish.org
|
| 86 |
+
.
|
| 87 |
+
|
| 88 |
+
Попроси учеников угадать слово по твоей мимике.
|
| 89 |
+
|
| 90 |
+
4. Визуализация и систематизация
|
| 91 |
+
4.1 Таблицы и схемы
|
| 92 |
+
На доске или слайде: колонка «Form – Meaning – Pronunciation» с примерами TL
|
| 93 |
+
SEE TEFL
|
| 94 |
+
.
|
| 95 |
+
|
| 96 |
+
Фонетическая транскрипция рядом с ключевым словом.
|
| 97 |
+
|
| 98 |
+
4.2 Mind-maps / semantic maps
|
| 99 |
+
Центр: ключевое слово/структура, вокруг – коллокации, синонимы, примеры употребления
|
| 100 |
+
Sanako
|
| 101 |
+
.
|
| 102 |
+
|
| 103 |
+
Ученики дополняют карту, обсуждая в мини-группах.
|
| 104 |
+
|
| 105 |
+
4.3 Realia и предметы
|
| 106 |
+
Принеси настоящие объекты (фрукты, открытки, игрушки), чтобы показать лексику
|
| 107 |
+
SEE TEFL
|
| 108 |
+
.
|
| 109 |
+
|
| 110 |
+
Спрячь предметы в коробке – угадай, нащупав внутри.
|
| 111 |
+
|
| 112 |
+
5. Истории и аутентичные тексты
|
| 113 |
+
5.1 Короткий рассказ или анекдот
|
| 114 |
+
Расскажи историю, где TL встречается несколько раз.
|
| 115 |
+
|
| 116 |
+
Попроси пересказать ключевые предложения в парах
|
| 117 |
+
www.slideshare.net
|
| 118 |
+
.
|
| 119 |
+
|
| 120 |
+
5.2 Конкорданс-файл или облако слов
|
| 121 |
+
Покажи несколько фрагментов из реального корпуса с TL, выяви паттерны вместе с учениками
|
| 122 |
+
Sanako
|
| 123 |
+
.
|
| 124 |
+
|
| 125 |
+
6. Игровые вводные активности (Warmer / Ice-breaker)
|
| 126 |
+
6.1 Быстрый опрос (Survey)
|
| 127 |
+
Раздай анкеты-опросники с вопросами на TL; ученики опрашивают друг друга
|
| 128 |
+
cambridgeenglish.org
|
| 129 |
+
.
|
| 130 |
+
|
| 131 |
+
6.2 Игра «Find someone who…»
|
| 132 |
+
Карточки с заданиями: «Find someone who has visited Paris» – используют TL в вопросах
|
| 133 |
+
grade-university.com
|
| 134 |
+
.
|
| 135 |
+
|
| 136 |
+
Каждый из этих приёмов можно комбинировать в зависимости от уровня и интересов класса. Важно дать ученикам возможность увидеть, услышать и прочувствовать новую структуру перед тем, как переходить к практике.
|
app/knowledge_base/lesson_frameworks.md
CHANGED
|
@@ -1 +1,27 @@
|
|
| 1 |
-
в
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
| Столбец | Что в нём описывается | Источник шаблона |
|
| 2 |
+
|------------------------|---------------------------------------------------------------|--------------------------------------------|
|
| 3 |
+
| **Time** | Время этапа (в минутах) | :contentReference[oaicite:4]{index=4} |
|
| 4 |
+
| **Stage / Aim** | Название этапа (Lead-in, Presentation и ([ELT Concourse Delta: lesson planning](https://teflconcourse.com/training/inservice/delta/mod2/planningdelta))ь ([[DOC] CELTA LESSON PLAN - Tom Godfrey](https://tom-godfrey.com/wp-content/uploads/2019/06/lp4sleepingbeautycomplete.doc?utm_source=chatgpt.com))rence[oaicite:5]{index=5} :contentReference[oaicite:6]{index=6} |
|
| 5 |
+
| **Procedure (Activity + Instructions)** | Что дел ([LP - CELTA - Explore Speaking TP3 | PDF | Conversation - Scribd](https://www.scribd.com/document/476594176/LP-CELTA-Explore-Speaking-TP3?utm_source=chatgpt.com))елают ученики; предписанные формулировки инструкций (ICQs/CCQs) | :contentReference[oaicite:7]{index=7} |
|
| 6 |
+
| **Interaction** | Формат взаимо ([ELT Concourse Delta: lesson planning](https://teflconcourse.com/training/inservice/delta/mod2/planningdelta))S, individual, pairs, groups) | :contentReference[oaicite:8]{index=8} :contentReference[oaicite:9]{index=9} |
|
| 7 |
+
| **Materials / Resources** | Какие раздаточные материалы, картинки, доска, техника нужны | :contentReference[oaicite:10]{index=10} |
|
| 8 |
+
| **Comments / Teacher role** | Примечания (anticipated problems & solutions, роль учителя: монитор, ассистент и т.п.) | :contentReference[oaicite:11]{index ([ELT Concourse Delta: lesson planning](https://teflconcourse.com/training/inservice/delta/mod2/planningdelta)) |
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
Directive:
|
| 15 |
+
When you generate the Presentation stage (20–25% of lesson time) of a PPP lesson plan, present it as a Markdown table with the following columns—do not output JSON.
|
| 16 |
+
|
| 17 |
+
Columns:
|
| 18 |
+
| Time | Stage / Aim | Procedure (Activity + Instructions) | Interaction | Materials / Resources | Comments / Teacher role |
|
| 19 |
+
|
| 20 |
+
Instructions:
|
| 21 |
+
1. Fill each row with one activity or sub-stage (Lead-In, Elicitation, Visuals & Realia, CCQs, Language Focus).
|
| 22 |
+
2. In “Time” specify minutes.
|
| 23 |
+
3. In “Stage / Aim” name the step and its purpose.
|
| 24 |
+
4. In “Procedure” describe exactly what teacher and students do (include ICQs/CCQs where relevant).
|
| 25 |
+
5. In “Interaction” use labels T–S, S–S, individual, pairs, groups.
|
| 26 |
+
6. In “Materials” list all visuals, realia, handouts, media.
|
| 27 |
+
7. In “Comments” note anticipated problems, monitoring focus, teacher role.
|
app/knowledge_base/test.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
|
| 2 |
Фрагмент:
|
| 3 |
"Упражнение 1b (стр. 8) – табличка «What information is on each card?»
|
|
@@ -16,7 +22,7 @@
|
|
| 16 |
|
| 17 |
|
| 18 |
2. Проведите тестирование
|
| 19 |
-
Сравнит
|
| 20 |
|
| 21 |
С указанным учебником.
|
| 22 |
|
|
|
|
| 1 |
+
Тест:
|
| 2 |
+
|
| 3 |
+
Со списком возможных активностей / без списка активностей - для каждого этапа урока
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
|
| 7 |
|
| 8 |
Фрагмент:
|
| 9 |
"Упражнение 1b (стр. 8) – табличка «What information is on each card?»
|
|
|
|
| 22 |
|
| 23 |
|
| 24 |
2. Проведите тестирование
|
| 25 |
+
Сравнить качество планов уроков:
|
| 26 |
|
| 27 |
С указанным учебником.
|
| 28 |
|
app/prompt_builder/prompt.py
CHANGED
|
@@ -12,25 +12,53 @@ def build_prompt(params):
|
|
| 12 |
# Создаем базовый промпт как список строк
|
| 13 |
prompt_base = [
|
| 14 |
f"""
|
| 15 |
-
Ты — опытный
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
Параметры занятия:
|
| 23 |
-
- УМК: {clean_value(params.get('textbook'), "попробуй определи визуально через логотипы, заголовки, структуру")}
|
| 24 |
-
- Уровень УМК по CEFR: {clean_value(params.get('cefr'), "определи по сложности текста/упражнений или по названию учебника")}
|
| 25 |
-
- Тема: {clean_value(params.get('topic'), "выяви через ключевые слова/изображения на странице")}
|
| 26 |
-
- Цель: {clean_value(params.get('goal'), "сформулируй сам 'К концу урока ученики смогут...'")}
|
| 27 |
-
- Возраст: {params['age']} лет (учти: {_get_age_group_comment(params['age'])})
|
| 28 |
- Продолжительность: {params['duration']} мин
|
| 29 |
- Количество учеников: {params['num_students']} чел
|
| 30 |
-
-
|
|
|
|
|
|
|
|
|
|
| 31 |
- Соответствие класса (ученика) уровню учебника: {params['level_match']} ({_get_level_match_comment(params['level_match'])})
|
| 32 |
-
-
|
| 33 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
"""
|
| 36 |
]
|
|
@@ -45,7 +73,7 @@ def build_prompt(params):
|
|
| 45 |
base_prompt = "".join(prompt_base)
|
| 46 |
|
| 47 |
# Добавляем советы по методике
|
| 48 |
-
methodology_advice =
|
| 49 |
|
| 50 |
return base_prompt + methodology_advice
|
| 51 |
|
|
@@ -95,23 +123,212 @@ def _get_age_group_comment(age):
|
|
| 95 |
return "учти возрастные особенности группы"
|
| 96 |
|
| 97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
|
| 99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 100 |
METHODOLOGY_TIPS = {
|
| 101 |
"PPP (Presentation-Practice-Production)": """
|
| 102 |
[МЕТОДИКА PPP]
|
| 103 |
|
| 104 |
-
|
| 105 |
|
| 106 |
Кто мои ученики? (возраст, уровень CEFR)
|
| 107 |
-
Как
|
| 108 |
-
Какая
|
| 109 |
-
Как
|
|
|
|
| 110 |
Как поддержать слабых учеников? (подсказки, шаблоны, парная работа)
|
| 111 |
|
| 112 |
-
Перед каждым этапом прогоняй чек‑лист, ориентируйся на страницу, параметры урока и свое учительское чутье.
|
| 113 |
|
| 114 |
Этап 1: Presentation (20–25% времени)
|
|
|
|
|
|
|
| 115 |
|
| 116 |
1) Contextualisation (5–7 мин)
|
| 117 |
— Придумай живую ситуацию (вопрос, загадку, картинку, мини-историю), связанную с темой страницы.
|
|
|
|
| 12 |
# Создаем базовый промпт как список строк
|
| 13 |
prompt_base = [
|
| 14 |
f"""
|
| 15 |
+
Ты — опытный и талантливый учитель и методист English as a foreign language. Твои планы занятий методически выверены, релевантны контексту занятия и талантливо сделаны.
|
| 16 |
+
Другой учитель просит тебя составить для него такой план.
|
| 17 |
+
Он показывает тебе материал, по которому будет проводить занятие, и сообщает следующие данные:
|
| 18 |
+
|
| 19 |
+
- Тема занятия: {clean_value(params.get('topic'), "не сообщил. Выяви через ключевые слова/изображения на странице")}
|
| 20 |
+
- Цель: {clean_value(params.get('goal'), "не сообщил. Сформулируй сам по форме 'К концу урока ученики смогут...'")}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
- Продолжительность: {params['duration']} мин
|
| 22 |
- Количество учеников: {params['num_students']} чел
|
| 23 |
+
- Возраст обучающихся: {params['age']} лет (учти: {_get_age_group_comment(params['age'])})
|
| 24 |
+
|
| 25 |
+
- Название учебно-методического комплекса (УМК), откуда взят материал: {clean_value(params.get('textbook'), "не сообщил. Попробуй определи визуально через логотипы, заголовки, структуру")}
|
| 26 |
+
- Уровень УМК по CEFR: {clean_value(params.get('cefr'), "не сообщил. Определи по сложности текста/упражнений или по названию учебника")}
|
| 27 |
- Соответствие класса (ученика) уровню учебника: {params['level_match']} ({_get_level_match_comment(params['level_match'])})
|
| 28 |
+
- Методология занятия: {params['methodology']}
|
| 29 |
+
- Target language: {params.get('target_language') or 'не сообщил. Определи самостоятельно по загруженной странице'}
|
| 30 |
+
|
| 31 |
+
- Оборудование/инвентарь: {params.get('inventory') or "стандартный школьный класс + проектор + компьютер с интернетом"}
|
| 32 |
+
|
| 33 |
+
Изучи предлагаемые страницы материала и сопоставь с данными от учителя чтобы разработать план урока.
|
| 34 |
+
|
| 35 |
+
При этом будь гибким: по необходимости адаптируй материал под контекст занятия, проявляй педагогическое и методическое чутьё. Главная цель — сделать занятие живым и полезным.
|
| 36 |
+
Перед тем как создавать план, обдумай этапы урока по методологии {params['methodology']} с учетом всех парамтеров занятия.
|
| 37 |
+
Указывай в плане номера упражнений из материала, которые используешь.
|
| 38 |
+
|
| 39 |
+
Если загруженных страниц 2 или 3, проверь, связаны ли они друг с другом - вероятно, это единый разворот учебника или, например, страница + связанный дополнительный материал.
|
| 40 |
+
В этом случае занятие воспринимай страницы как единое целое.
|
| 41 |
+
|
| 42 |
+
При необходимости используй в плане условные визуальные схемы - например, если нужно что-то нарисовать на доске или какую-то таблицу вынести в тетрадь - приведи примерный набросок (для понимания сути) в плане.
|
| 43 |
+
|
| 44 |
+
Общая структура твоего ответа:
|
| 45 |
+
- **Краткое описание составленного плана** - по каким параметрам составлен план (возраст, методика и т.д.)
|
| 46 |
+
- **Тема и цель занятия**
|
| 47 |
+
- **Необходимый инвентарь/оборудование**
|
| 48 |
+
- **План урока** в виде markdown-таблицы по методологии {params['methodology']}
|
| 49 |
+
|
| 50 |
+
Всегда указывай номера упражнений, которые ты используешь на этапах урока.
|
| 51 |
+
Будь лаконичен, но точен.
|
| 52 |
+
План урока представь в виде таблицы со столбцами:
|
| 53 |
+
|
| 54 |
+
| Time | Stage (Aim) | Procedure (Activity + Instructions) | Interaction | Materials / Resources | Comments / Teacher role |
|
| 55 |
+
|
| 56 |
+
* Time: минуты
|
| 57 |
+
* Stage (Aim): название этапа и его цель
|
| 58 |
+
* Procedure: точно что делает учитель и что – ученики (ICQs/CCQs если есть)
|
| 59 |
+
* Interaction: T–S, S–S, individual, pairs, groups
|
| 60 |
+
* Materials: картинки, объекты, карточки, видео-ссылки и т.п.
|
| 61 |
+
* Comments: anticipated problems, monitoring focus, teacher role
|
| 62 |
|
| 63 |
"""
|
| 64 |
]
|
|
|
|
| 73 |
base_prompt = "".join(prompt_base)
|
| 74 |
|
| 75 |
# Добавляем советы по методике
|
| 76 |
+
methodology_advice = METHODOLOGY_STRUCTURED.get(params['methodology'], "")
|
| 77 |
|
| 78 |
return base_prompt + methodology_advice
|
| 79 |
|
|
|
|
| 123 |
return "учти возрастные особенности группы"
|
| 124 |
|
| 125 |
|
| 126 |
+
METHODOLOGY_STRUCTURED = {
|
| 127 |
+
"PPP (Presentation-Practice-Production)": """
|
| 128 |
+
Фаза 0. Lead-In
|
| 129 |
+
- Activity: короткая «завязка» урока (через изображение, историю, мини-диалог, видеофрагмент, проблемную ситуацию etc.).
|
| 130 |
+
- Цель — активировать фоновые знания и заинтересовать учеников в теме урока, не затрагивая ещё target language
|
| 131 |
+
|
| 132 |
+
Фаза 1: Presentation (20–25% времени)
|
| 133 |
+
Цель: представить target langauge в понятном и запоминающемся контексте, обеспечивая первоначальное понимание и заинтересованность учащихся.
|
| 134 |
+
|
| 135 |
+
Прежде всего определи target language, на котором фокус - ориентируйся на явные указатели на TL на страницах учебника (могут быть в рамках или выделены жирным или как-то еще),
|
| 136 |
+
повторяющиеся структуры, контекст упражнений.
|
| 137 |
+
|
| 138 |
+
Справка:
|
| 139 |
+
Виды target language:
|
| 140 |
+
Лексика (vocabulary) Тематические слова и выражения: еда, путешествия, эмоции etc.
|
| 141 |
+
Грамматика (grammar) Времена, модальные глаголы, условные предложения, артикли etc.
|
| 142 |
+
Функциональный язык (functional language) Фразы для общения: просьбы, советы, приглашения, извинения etc.
|
| 143 |
+
Фразовые глаголы (phrasal verbs) Turn up, break down, look after etc.
|
| 144 |
+
Идиомы (idioms) "Break the ice", "Hit the books" etc.
|
| 145 |
+
Произношение (pronunciation features) Интонация вопросов, соединение слов (linking sounds), ударение etc.
|
| 146 |
+
Орфография (spelling patterns) Правила написания: окончания -ing, суффиксы и префиксы etc.
|
| 147 |
+
Синтаксис (syntax) Порядок слов в вопросах, порядок прилагательных etc.
|
| 148 |
+
Функции дискурса (discourse markers) Well, actually, you know, I mean... etc.
|
| 149 |
+
Социальные формы речи (register) Формальный/неформальный стиль общения etc.
|
| 150 |
+
|
| 151 |
+
По необходимости адаптируй объем target language по уровням:
|
| 152 |
+
• A1–A2 (6–12 лет): 3–6 единиц
|
| 153 |
+
• A2–B1 (13–17 лет): 5–7 единиц
|
| 154 |
+
• B2+: 7–10 единиц
|
| 155 |
+
|
| 156 |
+
|
| 157 |
+
Этапы фазы Presentation:
|
| 158 |
+
|
| 159 |
+
1. Exposure
|
| 160 |
+
Цель - погрузить учащихся в контекст, дать **первое»» впечатление»» от TL через текст, аудио или видео; задача — gist.
|
| 161 |
+
|
| 162 |
+
2. Highlighting
|
| 163 |
+
Цель - выделить TL в материале: ученики отмечают/подчеркивают примеры TL, собирают пазлы, отвечают на наводящие вопросы etc. (формат зависит от материала, возраста, уровня)
|
| 164 |
+
|
| 165 |
+
3. Clarification
|
| 166 |
+
Цель - объяснить concept-oral-written TL и проверить понимание через CCQs (не «understand?», а конкретные вопросы).
|
| 167 |
+
|
| 168 |
+
|
| 169 |
+
Фаза 2: Practice (30–40% времени занятия)
|
| 170 |
+
Цель этапа: помочь ученикам отработать target language под контролем учителя.
|
| 171 |
+
|
| 172 |
+
Используй материал страницы учебника как основу для упражнений (переформатируй задания при необходимости, но сохраняй их смысл и структуру).
|
| 173 |
+
|
| 174 |
+
Организуй 2–3 контролируемых или полуконтролируемых упражнения.
|
| 175 |
+
|
| 176 |
+
Прежде всего ориентируйся на задания из материалов, но если у тебя есть пространство для маневра, начни с упражнений с высокой степенью контроля (чтобы ученики не допускали ошибок).
|
| 177 |
+
Постепенно ослабляй контроль, подводя к этапу Production.
|
| 178 |
+
|
| 179 |
+
Подбирая тип упражнений, учитывая возраст, уровень CEFR, продолжительность урока и количество учеников (пары, мини-группы и т.д.).
|
| 180 |
+
Продумай, как предоставить фидбэк (например, peer-correction, whole-class feedback etc.).
|
| 181 |
+
|
| 182 |
+
Справка:
|
| 183 |
+
Неполный список возможных типов упражнений для этапа Practice:
|
| 184 |
+
Controlled drills - Substitution, transformation, repetition drills.
|
| 185 |
+
Gap-fills - Вставка пропущенных слов, структур или фраз.
|
| 186 |
+
Matching - Соотнесение вопросов и ответов, слов и определений.
|
| 187 |
+
Sentence completion - Завершение предложений целевыми структурами.
|
| 188 |
+
Reordering Перестановка - элементов для создания правильных предложений.
|
| 189 |
+
Controlled dialogues - Диалоги с частично заданной структурой.
|
| 190 |
+
Information gap activities - (контролируемые) Обмен недостающей информацией по чётким правилам.
|
| 191 |
+
|
| 192 |
+
|
| 193 |
+
Фаза 3: Production (25–35% времени занятия)
|
| 194 |
+
Цель: предоставить максимально аутентичную потребность в TL и стимулировать автономное использование.
|
| 195 |
+
|
| 196 |
+
Используй материал страницы как отправную точку для ситуации, но адаптируй или дополни её, чтобы задание требовало активного создания речи учениками.
|
| 197 |
+
|
| 198 |
+
Справка:
|
| 199 |
+
Возможные типы заданий (можешь использовать и другие варианты по своему усмотрению):
|
| 200 |
+
|
| 201 |
+
Role-play | Разыгрывание реальных ситуаций.
|
| 202 |
+
Discussion / Debate | Обсуждение темы урока.
|
| 203 |
+
Mini-project | Создание плаката, презентации, мини-видео.
|
| 204 |
+
Interview | Ученики задают друг другу вопросы.
|
| 205 |
+
Storytelling | Придумывание и рассказывание историй.
|
| 206 |
+
Problem-solving task | Решение задач и кейсов.
|
| 207 |
+
Peer teaching | Объяснение новой лексики друг другу.
|
| 208 |
+
Игры на использование языка | "Find someone who...", викторины и т.д.
|
| 209 |
+
|
| 210 |
+
Подбирай активность с учётом возраста, уровня и характера группы (например, подростки предпочитают соревновательные задания, взрослые — практические кейсы).
|
| 211 |
+
|
| 212 |
+
** Корректировки длительности этапов для разных уровней**:
|
| 213 |
+
Начинающие (A1-A2):
|
| 214 |
+
• Увеличить Practice до 45-50% (больше повторений и структурированных упражнений).
|
| 215 |
+
• Сократить Production до 20% (менее сложные задания).
|
| 216 |
+
|
| 217 |
+
Продвинутые (B2-C1):
|
| 218 |
+
• Сократить Presentation до 15% (быстрый ввод материала).
|
| 219 |
+
• Увеличить Production до 35-40% (больше дискуссий/кейсов).
|
| 220 |
+
"""
|
| 221 |
+
}
|
| 222 |
+
|
| 223 |
+
|
| 224 |
+
METHODOLOGY_TIPS_SHORT = {
|
| 225 |
+
"PPP (Presentation-Practice-Production)": """
|
| 226 |
+
|
| 227 |
+
Этап 1: Presentation (20–25% времени)
|
| 228 |
+
Цель: представить target langauge в понятном и запоминающемся контексте, обеспечивая первоначальное понимание и заинтересованность учащихся.
|
| 229 |
+
|
| 230 |
+
1) Предварительно определи target language, который является фокусом урока.
|
| 231 |
+
Ориентируйся на явные указатели (может быть в рамках, может выделены жирным может еще как-нибудь),
|
| 232 |
+
повторяющиеся структуры, контекст упражнений на страницах учебника.
|
| 233 |
+
|
| 234 |
+
Справка:
|
| 235 |
+
Виды target language:
|
| 236 |
+
Лексика (vocabulary) Тематические слова и выражения: еда, путешествия, эмоции etc.
|
| 237 |
+
Грамматика (grammar) Времена, модальные глаголы, условные предложения, артикли etc.
|
| 238 |
+
Функциональный язык (functional language) Фразы для общения: просьбы, советы, приглашения, извинения etc.
|
| 239 |
+
Фразовые глаголы (phrasal verbs) Turn up, break down, look after etc.
|
| 240 |
+
Идиомы (idioms) "Break the ice", "Hit the books" etc.
|
| 241 |
+
Произношение (pronunciation features) Интонация вопросов, соединение слов (linking sounds), ударение etc.
|
| 242 |
+
Орфография (spelling patterns) Правила написания: окончания -ing, суффиксы и префиксы etc.
|
| 243 |
+
Синтаксис (syntax) Порядок слов в вопросах, порядок прилагательных etc.
|
| 244 |
+
Функции дискурса (discourse markers) Well, actually, you know, I mean... etc.
|
| 245 |
+
Социальные формы речи (register) Формальный/неформальный стиль общения etc.
|
| 246 |
+
|
| 247 |
+
По необходимости адаптируй объем target langaage по уровням:
|
| 248 |
+
• A1–A2 (6–12 лет): 3–6 единиц
|
| 249 |
+
• A2–B1 (13–17 лет): 5–7 единиц
|
| 250 |
+
• B2+: 7–10 единиц
|
| 251 |
+
|
| 252 |
+
2) Вводи target langauge через контекст (диалог, история, видеофрагмент, проблемная ситуация).
|
| 253 |
+
Используй визуальные опоры (картинки, жесты, схемы) для объяснения смысла.
|
| 254 |
+
Избегай прямого перевода — смысл должен быть понятен из контекста.
|
| 255 |
+
Проверь понимание через вопросы на анализ контекста (не "Поняли?", а "Что Джон должен сделать? Почему?").
|
| 256 |
+
Примеры активности: мини-история с целевой структурой, анализ картинки, предсказание сюжета видео.
|
| 257 |
+
|
| 258 |
|
| 259 |
|
| 260 |
+
|
| 261 |
+
|
| 262 |
+
Этап 2: Practice (30–40% времени занятия)
|
| 263 |
+
Цель этапа: помочь ученикам отработать target language под контролем учителя, чтобы укрепить понимание формы и значения.
|
| 264 |
+
Построй этап на базе target language, выбранного на предыдущей фазе.
|
| 265 |
+
Используй материал страницы учебника как основу для упражнений (переформатируй задания при необходимости, но сохраняй их смысл и структуру).
|
| 266 |
+
|
| 267 |
+
Организуй 2–3 контролируемых или полуконтролируемых упражнения.
|
| 268 |
+
|
| 269 |
+
Если у тебя есть пространство для маневра, начни с упражнений с высокой степенью контроля (чтобы ученики не допускали ошибок).
|
| 270 |
+
Постепенно ослабляй контроль, подводя к этапу Production.
|
| 271 |
+
|
| 272 |
+
Подбирая тип упражнений, учитывая возраст, уровень CEFR, продолжительность урока и количество учеников (пары, мини-группы и т.д.).
|
| 273 |
+
Продумай, как предоставить минимальный фидбэк (например, общее исправление ошибок после каждого упражнения).
|
| 274 |
+
|
| 275 |
+
Справка:
|
| 276 |
+
Неполный список возможных типов упражнений для этапа Practice:
|
| 277 |
+
Controlled drills - Substitution, transformation, repetition drills.
|
| 278 |
+
Gap-fills - Вставка пропущенных слов, структур или фраз.
|
| 279 |
+
Matching - Соотнесение вопросов и ответов, слов и определений.
|
| 280 |
+
Sentence completion - Завершение предложений целевыми структурами.
|
| 281 |
+
Reordering Перестановка - элементов для создания правильных предложений.
|
| 282 |
+
Controlled dialogues - Диалоги с частично заданной структурой.
|
| 283 |
+
Information gap activities - (контролируемые) Обмен недостающей информацией по чётким правилам.
|
| 284 |
+
|
| 285 |
+
|
| 286 |
+
Этап 3: Production (25–35% времени занятия)
|
| 287 |
+
Цель этапа: Дать ученикам возможность свободно и творчески использовать target language в реальной коммуникации.
|
| 288 |
+
Построй задание на свободное использование target language.
|
| 289 |
+
Используй материал страницы как отправную точку для ситуации, но адаптируй или дополни её, чтобы задание требовало активного создания речи учениками.
|
| 290 |
+
|
| 291 |
+
Справка:
|
| 292 |
+
Возможные типы заданий (можешь использовать и другие варианты по своему усмотрению):
|
| 293 |
+
|
| 294 |
+
Role-play | Разыгрывание реальных ситуаций.
|
| 295 |
+
Discussion / Debate | Обсуждение темы урока.
|
| 296 |
+
Mini-project | Создание плаката, презентации, мини-видео.
|
| 297 |
+
Interview | Ученики задают друг другу вопросы.
|
| 298 |
+
Storytelling | Придумывание и рассказывание историй.
|
| 299 |
+
Problem-solving task | Решение задач и кейсов.
|
| 300 |
+
Peer teaching | Объяснение новой лексики друг другу.
|
| 301 |
+
Игры на использование языка | "Find someone who...", викторины и т.д.
|
| 302 |
+
|
| 303 |
+
Подбирай активность с учётом возраста, уровня и характера группы (например, подростки предпочитают соревновательные задания, взрослые — практические кейсы).
|
| 304 |
+
|
| 305 |
+
** Корректировки длительности этапов для разных уровней**:
|
| 306 |
+
Начинающие (A1-A2):
|
| 307 |
+
• Увеличить Practice до 45-50% (больше повторений и структурированных упражнений).
|
| 308 |
+
• Сократить Production до 20% (менее сложные задания).
|
| 309 |
+
|
| 310 |
+
Продвинутые (B2-C1):
|
| 311 |
+
• Сократить Presentation до 15% (быстрый ввод материала).
|
| 312 |
+
• Увеличить Production до 35-40% (больше дискуссий/кейсов).
|
| 313 |
+
"""
|
| 314 |
+
}
|
| 315 |
METHODOLOGY_TIPS = {
|
| 316 |
"PPP (Presentation-Practice-Production)": """
|
| 317 |
[МЕТОДИКА PPP]
|
| 318 |
|
| 319 |
+
Перед составлением плана зарятия, спроси себя:
|
| 320 |
|
| 321 |
Кто мои ученики? (возраст, уровень CEFR)
|
| 322 |
+
Какая цель занятия? (что уч��ники должны уметь к концу)
|
| 323 |
+
Какая тема занятия?
|
| 324 |
+
Какой материал (упражнения, картинки, схемы и т.п.) из загруженных страниц мне понадобится для занятия с учетом его продолжительности, цели и других параметров?
|
| 325 |
+
Как можно интересно начать урок, перенеся внимание от контекста реальной жизни в контекст темы занятия?
|
| 326 |
Как поддержать слабых учеников? (подсказки, шаблоны, парная работа)
|
| 327 |
|
|
|
|
| 328 |
|
| 329 |
Этап 1: Presentation (20–25% времени)
|
| 330 |
+
Цель: представить новый языковой материал в понятном и запоминающемся контексте, обеспечивая первоначальное понимание и заинтересованность учащихся.
|
| 331 |
+
|
| 332 |
|
| 333 |
1) Contextualisation (5–7 мин)
|
| 334 |
— Придумай живую ситуацию (вопрос, загадку, картинку, мини-историю), связанную с темой страницы.
|
app/test_gradio_test.py
CHANGED
|
@@ -197,6 +197,7 @@ css_path = os.path.join(os.path.dirname(__file__), "styles.css")
|
|
| 197 |
with gr.Blocks(theme=theme, css_paths=css_path) as app:
|
| 198 |
# advanced_settings_visible = gr.State(value=False) # Импортируем gr.State для хранения состояния
|
| 199 |
feedback_visible = gr.State(False) # Хранит, открыт ли блок отзыва
|
|
|
|
| 200 |
|
| 201 |
gr.Markdown("# План урока английского языка", elem_classes=["main-title"])
|
| 202 |
quote_box = gr.Markdown(random.choice(quotes), elem_classes=["quote-block"])
|
|
@@ -207,14 +208,18 @@ with gr.Blocks(theme=theme, css_paths=css_path) as app:
|
|
| 207 |
label="Фото 1*",
|
| 208 |
type="filepath",
|
| 209 |
)
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
)
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
|
| 219 |
# Блок 1: Учебник
|
| 220 |
with gr.Column(variant="panel"):
|
|
@@ -339,16 +344,20 @@ with gr.Blocks(theme=theme, css_paths=css_path) as app:
|
|
| 339 |
### --- Логика интерфейса ---
|
| 340 |
|
| 341 |
# # Показываем/скрываем блок загрузки доп. изображений
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 352 |
## Доп. настройки
|
| 353 |
# def toggle_advanced_settings(visible):
|
| 354 |
# return gr.update(visible=not visible), not visible
|
|
|
|
| 197 |
with gr.Blocks(theme=theme, css_paths=css_path) as app:
|
| 198 |
# advanced_settings_visible = gr.State(value=False) # Импортируем gr.State для хранения состояния
|
| 199 |
feedback_visible = gr.State(False) # Хранит, открыт ли блок отзыва
|
| 200 |
+
additional_images_visible = gr.State(False)
|
| 201 |
|
| 202 |
gr.Markdown("# План урока английского языка", elem_classes=["main-title"])
|
| 203 |
quote_box = gr.Markdown(random.choice(quotes), elem_classes=["quote-block"])
|
|
|
|
| 208 |
label="Фото 1*",
|
| 209 |
type="filepath",
|
| 210 |
)
|
| 211 |
+
|
| 212 |
+
additional_images_btn = gr.Button("➕ Добавить еще изображения", size="sm")
|
| 213 |
+
|
| 214 |
+
with gr.Group(visible=False) as additional_images_group: # Группа изначально скрыта
|
| 215 |
+
img2 = gr.Image(
|
| 216 |
+
label="Фото 2 (необязательно)",
|
| 217 |
+
type="filepath",
|
| 218 |
+
)
|
| 219 |
+
img3 = gr.Image(
|
| 220 |
+
label="Фото 3 (необязательно)",
|
| 221 |
+
type="filepath",
|
| 222 |
+
)
|
| 223 |
|
| 224 |
# Блок 1: Учебник
|
| 225 |
with gr.Column(variant="panel"):
|
|
|
|
| 344 |
### --- Логика интерфейса ---
|
| 345 |
|
| 346 |
# # Показываем/скрываем блок загрузки доп. изображений
|
| 347 |
+
def toggle_additional_images(current_visible):
|
| 348 |
+
new_visible = not current_visible
|
| 349 |
+
btn_text = "➖ Скрыть дополнительные изображения" if new_visible else "➕ Добавить еще изображения"
|
| 350 |
+
return [
|
| 351 |
+
new_visible,
|
| 352 |
+
gr.Group.update(visible=new_visible),
|
| 353 |
+
gr.Button.update(value=btn_text)
|
| 354 |
+
]
|
| 355 |
+
|
| 356 |
+
additional_images_btn.click(
|
| 357 |
+
fn=toggle_additional_images,
|
| 358 |
+
inputs=additional_images_visible,
|
| 359 |
+
outputs=[additional_images_visible, additional_images_group, additional_images_btn]
|
| 360 |
+
)
|
| 361 |
## Доп. настройки
|
| 362 |
# def toggle_advanced_settings(visible):
|
| 363 |
# return gr.update(visible=not visible), not visible
|