Spaces:
Paused
A newer version of the Gradio SDK is available: 6.24.0
Текущее состояние Цель прототипа:
Показать, как AI генерирует план урока на основе:
Загруженного учебника (PDF).
Параметров от учителя (тема урока, метод, количество учеников и т.д.).
Технологии:
Backend: Python + Responses API (OpenAI).
Frontend: Streamlit (для быстрого создания веб-интерфейса).
Обработка файлов: Responses API (загрузка и поиск в PDF).
Упрощения:
Работаем только с текстом (пока не обрабатываем картинки/аудио/видео).
Используем один учебник для тестирования.
План работы над прототипом
- Подготовка (1-2 часа) Убедитесь, что у вас есть:
API-ключ от OpenAI.
Установленный Python (рекомендую версию 3.8+).
Установленные библиотеки:
bash Copy pip install openai streamlit Пример PDF учебника для тестирования.
- Создание веб-интерфейса (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)
- Тестирование (1-2 часа) Загрузите PDF учебника.
Введите параметры урока (например, тема "Фотосинтез", метод "Test-Teach-Test", 25 учеников).
Проверьте, генерирует ли AI корректный план урока.
- Улучшение прототипа (3-4 часа) Обработка ошибок:
Добавьте проверку на пустые поля.
Обработайте случаи, когда в учебнике нет информации по теме.
Оптимизация запросов:
Ограничьте объем текста, передаваемого в промпт (например, первые 3000 символов).
Улучшение интерфейса:
Добавьте возможность выбора раздела учебника.
Отобразите найденные фрагменты текста перед генерацией плана.
Логирование:
Сохраняйте запросы и ответы в лог-файл для анализа.
- Демонстрация и обратная связь (2-3 часа) Покажите прототип учителям или коллегам.
Соберите обратную связь:
Удобен ли интерфейс?
Соответствуют ли планы уроков ожиданиям?
Какие функции нужно добавить?
- Дальнейшие шаги После успешного тестирования MVP:
Добавьте обработку картинок/аудио/видео (если нужно).
Интегрируйте веб-поиск для поиска дополнительных материалов.
Расширьте функциональность:
Сохранение планов уроков.
Редактирование сгенерированных планов.
Оптимизируйте производительность:
Кэшируйте результаты поиска.
Используйте асинхронные запросы.