Текущее состояние Цель прототипа: Показать, как 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: Добавьте обработку картинок/аудио/видео (если нужно). Интегрируйте веб-поиск для поиска дополнительных материалов. Расширьте функциональность: Сохранение планов уроков. Редактирование сгенерированных планов. Оптимизируйте производительность: Кэшируйте результаты поиска. Используйте асинхронные запросы.