zenivan commited on
Commit
ce8ebf1
·
1 Parent(s): 279c147
Files changed (3) hide show
  1. README.md +2 -0
  2. TASKS.md +2 -0
  3. app/prompt_builder/prompt.py +18 -19
README.md CHANGED
@@ -17,3 +17,5 @@ git commit -m "..."
17
  git push space main
18
 
19
 
 
 
 
17
  git push space main
18
 
19
 
20
+
21
+
TASKS.md CHANGED
@@ -42,6 +42,8 @@
42
 
43
  [ ] web search для поиска images, video, расширяющих упражнений на Practice и идей проектов на Production.
44
  [ ] если audio - вывести, что "предоставьте фото транскриптов аудио для составления полноценного плана"
 
 
45
  ## in progress
46
 
47
  [ ] автозаполнение поля Учебник (по словарю)
 
42
 
43
  [ ] web search для поиска images, video, расширяющих упражнений на Practice и идей проектов на Production.
44
  [ ] если audio - вывести, что "предоставьте фото транскриптов аудио для составления полноценного плана"
45
+
46
+ [] принт-наклейку на машину с qr-кодом/запоминающимся названием/@tg на свою мастерскую. Разработка, обучение, внедрение
47
  ## in progress
48
 
49
  [ ] автозаполнение поля Учебник (по словарю)
app/prompt_builder/prompt.py CHANGED
@@ -10,7 +10,7 @@ def build_prompt(params):
10
  return value
11
 
12
  # Создаем базовый промпт как список строк
13
- prompt_base = [
14
  f"""
15
  Ты — опытный и талантливый учитель и методист English as a foreign language. Твои планы занятий методически выверены, релевантны контексту занятия и талантливо сделаны.
16
  Другой учитель просит тебя составить для него такой план.
@@ -29,8 +29,20 @@ def build_prompt(params):
29
  - Target language: {params.get('target_language') or 'не сообщил. Определи самостоятельно по загруженной странице'}
30
 
31
  - Оборудование/инвентарь: {params.get('inventory') or "стандартный школьный класс + проектор + компьютер с интернетом"}
 
 
 
 
 
 
 
 
 
 
32
 
33
- Изучи предлагаемые страницы материала и сопоставь с данными от учителя чтобы разработать план урока.
 
 
34
 
35
  При этом будь гибким: по необходимости адаптируй материал под контекст занятия, проявляй педагогическое и методическое чутьё. Главная цель — спланировать интересное и полезное занятие.
36
 
@@ -46,7 +58,7 @@ def build_prompt(params):
46
  - **Краткое описание составленного плана** - по каким параметрам составлен план (возраст, методика и т.д.)
47
  - **Тема и цель занятия**
48
  - **Необходимый инвентарь/оборудование**
49
- - **План урока** в виде markdown-таблицы, по методологии {params['methodology']}
50
  - **Дополнительные материалы**:
51
  - Reference по target language: Meaning-Production-Form, CCQs
52
 
@@ -84,25 +96,12 @@ def build_prompt(params):
84
  2. Все равно составь план урока на тех данных, которые имеются - через обобщенное описание предполагаемых активностей: напр. «Ученики слушают диалог и выполняют задание на общее понимание», но не придумывай конкретику, если она не указана на изображении.
85
  В столбце Materials / Resources впиши плейсхолдеры [[AUDIO: загрузите фото с транскриптом]] or [[загрузите фото со скриптом]].
86
  ***
 
87
  """
88
  ]
89
 
90
- # Добавляем дополнительную информацию ТОЛЬКО если она есть
91
- if params.get('extra_info'):
92
- prompt_base.append(f"- Дополнительная информация от учителя: {params['extra_info']}\n")
93
- if params.get('hw_required'):
94
- prompt_base.append("- Разработай домашнее задание, логично вытекающее из урока\n")
95
- if params.get('web_search'):
96
- prompt_base.append("- \n")
97
-
98
- # Объединяем все части в одну строку
99
- base_prompt = "".join(prompt_base)
100
-
101
- # Добавляем советы по методике
102
- methodology_advice = METHODOLOGY_STRUCTURED.get(params['methodology'], "")
103
-
104
- return base_prompt + methodology_advice
105
-
106
 
107
  def is_empty_or_whitespace(text):
108
  """Проверяет, является ли текст пустым или содержит только пробельные символы"""
 
10
  return value
11
 
12
  # Создаем базовый промпт как список строк
13
+ prompt_part1 = [
14
  f"""
15
  Ты — опытный и талантливый учитель и методист English as a foreign language. Твои планы занятий методически выверены, релевантны контексту занятия и талантливо сделаны.
16
  Другой учитель просит тебя составить для него такой план.
 
29
  - Target language: {params.get('target_language') or 'не сообщил. Определи самостоятельно по загруженной странице'}
30
 
31
  - Оборудование/инвентарь: {params.get('inventory') or "стандартный школьный класс + проектор + компьютер с интернетом"}
32
+ """
33
+ ]
34
+
35
+ # Добавляем дополнительную информацию ТОЛЬКО если она есть
36
+ if params.get('extra_info'):
37
+ prompt_part1.append(f"- Дополнительная информация от учителя: {params['extra_info']}\n")
38
+ if params.get('hw_required'):
39
+ prompt_part1.append("- Разработай домашнее задание, логично вытекающее из урока\n")
40
+ if params.get('web_search'):
41
+ prompt_part1.append("- \n")
42
 
43
+ prompt_part2 = [
44
+ f"""
45
+ Изучи предлагаемые страницы материала и сопоставь с данными от учителя чтобы разработать план урока.
46
 
47
  При этом будь гибким: по необходимости адаптируй материал под контекст занятия, проявляй педагогическое и методическое чутьё. Главная цель — спланировать интересное и полезное занятие.
48
 
 
58
  - **Краткое описание составленного плана** - по каким параметрам составлен план (возраст, методика и т.д.)
59
  - **Тема и цель занятия**
60
  - **Необходимый инвентарь/оборудование**
61
+ - **План урока** в виде markdown-таблицы
62
  - **Дополнительные материалы**:
63
  - Reference по target language: Meaning-Production-Form, CCQs
64
 
 
96
  2. Все равно составь план урока на тех данных, которые имеются - через обобщенное описание предполагаемых активностей: напр. «Ученики слушают диалог и выполняют задание на общее понимание», но не придумывай конкретику, если она не указана на изображении.
97
  В столбце Materials / Resources впиши плейсхолдеры [[AUDIO: загрузите фото с транскриптом]] or [[загрузите фото со скриптом]].
98
  ***
99
+
100
  """
101
  ]
102
 
103
+ base_prompt = "".join(prompt_part1 + prompt_part2)
104
+ return base_prompt + METHODOLOGY_STRUCTURED.get(params['methodology'], "")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
 
106
  def is_empty_or_whitespace(text):
107
  """Проверяет, является ли текст пустым или содержит только пробельные символы"""