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