File size: 5,594 Bytes
a0cd203
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
Текущее состояние
Цель прототипа:

Показать, как AI генерирует план урока на основе:

Загруженного учебника (PDF).

Параметров от учителя (тема урока, метод, количество учеников и т.д.).

Технологии:

Backend: Python + Responses API (OpenAI).

Frontend: Streamlit (для быстрого создания веб-интерфейса).

Обработка файлов: Responses API (загрузка и поиск в PDF).

Упрощения:

Работаем только с текстом (пока не обрабатываем картинки/аудио/видео).

Используем один учебник для тестирования.

План работы над прототипом
1. Подготовка (1-2 часа)
Убедитесь, что у вас есть:

API-ключ от OpenAI.

Установленный Python (рекомендую версию 3.8+).

Установленные библиотеки:

bash
Copy
pip install openai streamlit
Пример PDF учебника для тестирования.

2. Создание веб-интерфейса (2-3 часа)
Используем Streamlit для создания простого интерфейса:

Поле для загрузки PDF.

Поля для ввода параметров урока (тема, метод, количество учеников).

Кнопка для генерации плана урока.

Пример кода:

python
Copy
import streamlit as st
import openai

# Настройка OpenAI API
openai.api_key = "ваш API-ключ"

# Заголовок приложения
st.title("AI-ассистент учителя")

# Параметры урока
lesson_topic = st.text_input("Тема урока")
class_size = st.number_input("Количество учеников", min_value=1)
method = st.selectbox("Метод обучения", ["Test-Teach-Test", "Проектный", "Лекция"])

# Загрузка PDF
uploaded_file = st.file_uploader("Загрузите учебник (PDF)", type="pdf")

if uploaded_file and lesson_topic:
    # Сохраняем PDF временно
    with open("temp.pdf", "wb") as f:
        f.write(uploaded_file.getvalue())

    # Загрузка файла в OpenAI
    file = openai.File.create(
        file=open("temp.pdf", "rb"),
        purpose="search"
    )

    # Поиск в файле
    search_response = openai.File.search(
        file_id=file.id,
        query=lesson_topic
    )

    # Генерация плана урока
    prompt = f"""
    Создай план урока по теме: {lesson_topic}.
    Метод: {method}.
    Количество учеников: {class_size}.
    Материалы учебника: {search_response.data[0].text}
    Формат плана:
    - Цели урока
    - Необходимые материалы
    - Шаги урока с таймингом
    - Домашнее задание
    """

    lesson_plan = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}]
    )

    # Вывод результата
    st.write("**План урока:**")
    st.markdown(lesson_plan.choices[0].message.content)
3. Тестирование (1-2 часа)
Загрузите PDF учебника.

Введите параметры урока (например, тема "Фотосинтез", метод "Test-Teach-Test", 25 учеников).

Проверьте, генерирует ли AI корректный план урока.

4. Улучшение прототипа (3-4 часа)
Обработка ошибок:

Добавьте проверку на пустые поля.

Обработайте случаи, когда в учебнике нет информации по теме.

Оптимизация запросов:

Ограничьте объем текста, передаваемого в промпт (например, первые 3000 символов).

Улучшение интерфейса:

Добавьте возможность выбора раздела учебника.

Отобразите найденные фрагменты текста перед генерацией плана.

Логирование:

Сохраняйте запросы и ответы в лог-файл для анализа.

5. Демонстрация и обратная связь (2-3 часа)
Покажите прототип учителям или коллегам.

Соберите обратную связь:

Удобен ли интерфейс?

Соответствуют ли планы уроков ожиданиям?

Какие функции нужно добавить?

6. Дальнейшие шаги
После успешного тестирования MVP:

Добавьте обработку картинок/аудио/видео (если нужно).

Интегрируйте веб-поиск для поиска дополнительных материалов.

Расширьте функциональность:

Сохранение планов уроков.

Редактирование сгенерированных планов.

Оптимизируйте производительность:

Кэшируйте результаты поиска.

Используйте асинхронные запросы.