К содержанию
Первый Коммит

Модуль 6 после покупки курса

Инструменты, которые ходят в интернет

  • Что меняет сеть
  • Ловушка httpx2
  • Асинхронные инструменты
  • Таймауты
  • Сетевые ошибки для модели
  • Вежливость к чужому API

До этого модуля все инструменты работали с тем, что было доступно локально: считали по формулам, брали системное время, разбирали переданную строку. Такой инструмент нельзя сломать извне — он зависит только от вашего кода. С этого модуля инструмент начинает ходить в интернет, и вместе с полезностью появляется целый набор новых причин, по которым он может подвести пользователя.

Технически шаг небольшой: внутри функции появляется HTTP-запрос, одна строка. По последствиям это переход в другой класс задач. Инструмент перестаёт быть чистой функцией: он становится медленным, непредсказуемым и зависимым от чужого сервиса, которым вы не управляете. Модуль посвящён тому, как написать такой инструмент, чтобы он оставался полезным, даже когда чужая сторона не отвечает.

Работать будем с открытым метеосервисом Open-Meteo: он не требует ни ключа, ни регистрации, отдаёт понятный JSON и дополнительно предоставляет геокодер — справочник, который переводит название города в координаты. Обращаться будем к его учебной копии на сервере академии: она повторяет пути и форму ответов настоящего сервиса, но работает в России и поэтому доступна из сети колледжа, где иностранные сервисы бывают закрыты. Никаких платных сервисов и никаких ключей в коде в этом курсе не будет: работу с секретами разбирает модуль 9, и до тех пор мы намеренно берём только то, что доступно всем.

Три темы мы здесь рассматривать не будем, чтобы не размывать материал. Проверку аргументов средствами Pydantic и продуманные формулировки сообщений разбирает модуль 7. Хранение полученных данных в базе — модуль 8. Секреты, квоты и защита от злоупотреблений как отдельная тема безопасности — модуль 9. Здесь нас интересует одно: как выглядит инструмент, который зависит от сети, и что делать с его отказами.

Платная часть курса

Остальные модули открывает покупка курса

Первые 2 модуля курса «MCP-серверы» открыты всем. Остальные 8 модулей, включая этот, открываются после покупки курса. Доступ остаётся навсегда вместе со всеми обновлениями курса.

Уже купили этот курс? Войдите, и он откроется.

В этом модуле 10 разделов

  1. 6.1 Что меняется, когда инструмент выходит в сеть
  2. 6.2 Ловушка окружения: httpx2 вместо httpx
  3. 6.3 Первый сетевой инструмент: погода без ключа
  4. 6.4 Асинхронные инструменты
  5. 6.5 Таймауты
  6. 6.6 Сетевые ошибки, на которые модель может отреагировать
  7. 6.7 Вежливость к чужому API: заголовок, лимиты, повторы, кэш
  8. 6.8 Практика: сервер клуба туристов
  9. Итоги модуля 6
  10. Домашнее задание

Введите запрос: название модуля, тема или раздел.

Стрелки — выбор, Enter — открыть. Ищет по названиям модулей, темам и разделам.