Все уроки

Курс

ИИ для 8 класса: разработчик умных приложений

Собери Python, веб-страницы, модели и API ИИ в одно приложение. Потом проверь его и покажи.

Проходи уроки по порядку. В конце ты назовёшь интерфейс, серверную часть, модель и данные приложения с ИИ и нарисуешь его архитектуру. Ты разобьёшь код на модули, прочитаешь и запишешь файлы JSON и соберёшь небольшой сайт на HTML и CSS. Ты покажешь предсказание классификатора на веб-странице, соберёшь промпт из шаблона и проверишь, что ответ модели в нужном формате. Ты вызовешь API ИИ, которым управляет учитель, сохранишь ключ API в секрете, соберёшь набор из 20 тестов, напишешь чек-лист безопасности и покажешь проверенного помощника в учёбе.

Как пользоваться этими уроками

  • Начни с урока, где написано Сделай это. Строку под названием сделай сам, потом иди дальше.
  • Сначала Игры. Потом Проверка. 8 из 10 верно для зачёта. Листы на бумаге. Ответы внизу.
  • Каждый урок опирается на предыдущий. Держи одну папку проекта и дополняй её на каждом уроке.
  • Пользуйся только сервисами ИИ, которые разрешил учитель. Не пиши ключи API в коде и никому их не давай. Не отправляй модели личные данные. Проверяй каждый ответ ИИ, который показывает приложение.

В каждом уроке есть игры, проверка и листы.

0 из 36

Архитектура приложения с ИИ

  1. 1Части приложения с ИИНазови интерфейс, серверную часть, модель и данные приложения с ИИ.
    • Определи каждую из четырёх частей.
    • Найди их в приложении-переводчике.
    • Скажи, какую часть видят пользователи.
  2. 2Проследи запросПроследи один запрос от клика до ответа.
    • Перечисли каждый шаг от клика до экрана.
    • Скажи, где работает модель.
    • Скажи, где может быть задержка.
  3. 3Где приложение хранит данныеСкажи, где приложение хранит данные и почему.
    • Сравни браузер, сервер и базу данных.
    • Скажи, что нельзя хранить никогда.
    • Скажи, кто видит каждое место.
  4. 4Нарисуй архитектуруНарисуй архитектуру настоящего приложения с ИИ.
    • Выбери приложение.
    • Нарисуй прямоугольник для каждой части.
    • Нарисуй стрелки для потока данных.

Python среднего уровня

  1. 5МодулиРазбей код на модули и импортируй их.
    • Перенеси функции в свой файл.
    • Импортируй их в другом файле.
    • Назови модули понятно.
  2. 6ФайлыЧитай и записывай текстовые файлы и файлы JSON.
    • Прочитай и запиши текстовый файл.
    • Сохрани и загрузи JSON.
    • Обработай отсутствующий файл.
  3. 7БиблиотекиУстанови и используй библиотеку Python.
    • Установи библиотеку через pip.
    • Прочитай её документацию.
    • Используй одну функцию из неё.
  4. 8Повторно используемый кодПреврати повторяющийся код в функцию, которой могут пользоваться другие.
    • Найди повторяющийся код.
    • Преврати его в функцию с понятными параметрами.
    • Напиши короткий docstring.

Основы веб-приложений

  1. 9HTMLСобери на HTML страницу с заголовками, текстом и формой.
    • Используй заголовки, абзацы и списки.
    • Добавь картинку и ссылку.
    • Добавь форму с текстовым полем и кнопкой.
  2. 10CSSОформи страницу с помощью CSS: цвета, отступы и раскладка.
    • Задай цвета и шрифты.
    • Добавь margin и padding.
    • Разложи страницу с помощью flexbox.
  3. 11Формы и вводПрочитай, что пользователь вводит в форме.
    • Прочитай значение формы с помощью JavaScript.
    • Покажи его снова на странице.
    • Проверь пустой ввод.
  4. 12Простой сайтСобери небольшой сайт из двух страниц.
    • Собери главную страницу и страницу инструмента.
    • Соедини их ссылками.
    • Сделай так, чтобы они работали на экране телефона.

Подключение моделей

  1. 13ИнференсОбъясни разницу между обучением и инференсом.
    • Скажи, что обучение бывает один раз, а инференс — на каждый запрос.
    • Сохрани и загрузи обученную модель.
    • Засеки время одного предсказания.
  2. 14Вход моделиПодготовь вход в той форме, которую ждёт модель.
    • Измени размер изображения.
    • Поставь признаки в нужном порядке.
    • Отклони вход, который модель не может использовать.
  3. 15Выход моделиПрочитай метки и оценки модели.
    • Прочитай верхнюю метку.
    • Прочитай оценку уверенности.
    • Покажи «не уверен», если оценка ниже порога.
  4. 16Подключи классификаторПокажи предсказание классификатора на веб-странице.
    • Загрузи модель в браузере или на маленьком сервере.
    • Отправь ей вход со страницы.
    • Покажи метку и оценку.

Приложения на промптах

  1. 17Шаблоны промптовСобери промпт из шаблона и ввода пользователя.
    • Напиши шаблон с пропусками.
    • Заполни пропуски из ввода пользователя.
    • Не дай вводу пользователя изменить твои инструкции.
  2. 18КонтекстДай модели нужный ей контекст.
    • Добавь класс и тему.
    • Добавь пример ответа.
    • Сравни ответы с контекстом и без него.
  3. 19Проверка ответаПроверь, что ответ модели в нужном формате.
    • Попроси JSON.
    • Разбери его и проверь поля.
    • Повтори или покажи ошибку, если формат неверный.
  4. 20Цепочка промптовСоедини два промпта в цепочку, чтобы закончить задачу.
    • Сделай вопросы одним промптом.
    • Проверь ответы вторым промптом.
    • Передай данные между шагами.

API ИИ

  1. 21Запросы и ответыОтправь запрос и прочитай ответ JSON.
    • Отправь запрос GET и запрос POST.
    • Прочитай коды состояния.
    • Разбери ответ JSON.
  2. 22Ключи APIХрани ключ API в секрете.
    • Храни ключ в переменной окружения.
    • Не клади ключи в общий код.
    • Скажи, почему ключ нельзя держать в браузере.
  3. 23Лимиты и стоимостьОбъясни лимиты запросов и стоимость использования.
    • Прочитай ошибку лимита запросов.
    • Оцени стоимость 100 запросов.
    • Подожди и повтори, когда сработал лимит.
  4. 24Вызов APIВызови из Python API ИИ, которым управляет учитель.
    • Отправь промпт.
    • Прочитай ответ.
    • Обработай ошибки и тайм-ауты.

Тестирование ИИ

  1. 25Тестовые случаиНапиши тестовые случаи: входы и ожидаемые выходы.
    • Напиши 10 тестовых входов.
    • Напиши, как выглядит хороший выход.
    • Прогони их вручную.
  2. 26НадёжностьПроверь надёжность: прогони один и тот же тест много раз и сравни результаты.
    • Прогони один промпт 10 раз.
    • Посчитай, как часто он прав.
    • Уменьши случайность и сравни.
  3. 27Крайние случаиПроверь крайние случаи: пустой, длинный и хитрый ввод.
    • Попробуй пустой ввод и очень длинный ввод.
    • Попробуй ввод на другом языке.
    • Попробуй ввод, который хочет обмануть приложение.
  4. 28Набор из 20 тестовСобери набор из 20 тестов и оцени своё приложение.
    • Смешай лёгкие, трудные и хитрые тесты.
    • Оцени каждый ответ: зачёт или незачёт.
    • Следи за оценкой после каждого изменения.

Ответственный дизайн приложений

  1. 29Приватность: только нужные данныеДля приватности собирай только те данные, которые нужны приложению.
    • Перечисли данные, которые собирает твоё приложение.
    • Убери то, что ему не нужно.
    • Скажи, как долго данные хранятся.
  2. 30Блокировка опасного ввода и выводаБлокируй опасный ввод и вывод.
    • Фильтруй опасные темы.
    • Проверяй ответы перед показом.
    • Дай безопасный ответ, когда вход заблокирован.
  3. 31Опыт пользователя: когда отвечает ИИВ опыте пользователя покажи, когда отвечает ИИ и что он может ошибаться.
    • Подпиши ответы ИИ.
    • Добавь способ сообщить о неверном ответе.
    • Покажи состояние загрузки.
  4. 32Чек-лист безопасностиНапиши чек-лист безопасности для своего приложения.
    • Охвати приватность, безопасность и точность.
    • Проверь приложение по этому списку.
    • Исправь один пункт, который не прошёл.

Студия разработки приложений

  1. 33Функции и тесты помощникаНапиши функции и тесты для помощника в учёбе.
    • Выбери предметы.
    • Перечисли функции.
    • Сначала напиши набор тестов.
  2. 34Собери интерфейсСобери интерфейс: выбор предмета и экран вопроса.
    • Собери выбор предмета.
    • Собери экран вопроса и ответа.
    • Собери область обратной связи.
  3. 35Подключи ИИПодключи ИИ: добавь вопросы и обратную связь от модели.
    • Сгенерируй вопросы для практики с помощью модели.
    • Проверь ответы и дай обратную связь.
    • Прогони набор тестов.
  4. 36Свой помощник в учёбе с ИИПокажи проверенного помощника в учёбе.
    • Покажи всё приложение.
    • Покажи оценку по тестам.
    • Объясни фронтенд, серверную часть и модель.