AI и машинное обучение

Учебник Работа с API LLM (Claude, OpenAI) для начинающих

28 уроков · 6 разделов · бесплатно, без регистрации

Глубокий практический курс для разработчиков, которые встраивают большие языковые модели (Claude, OpenAI/GPT) в приложения. От первого запроса и устройства API до function calling, структурированного вывода, стриминга, кэширования, RAG и продакшн-инженерии: стоимости, безопасности, наблюдаемости и тестирования. Реальная разработка с LLM API, а не теория.

Курс «Работа с API LLM (Claude, OpenAI)» состоит из 6 разделов и 28 уроков: Основы LLM API, Формат сообщений и параметры, Стриминг и обработка ответов, Структурированный вывод и инструменты, Продвинутые возможности и Продакшн. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Основы LLM API

    1. Как устроено взаимодействие с LLM API

      Запрос с промптом, ответ модели, stateless-природа HTTP API больших языковых моделей: базовая ментальная модель для разработчика.

    2. Ключи API и безопасность

      Как хранить ключи API LLM: переменные окружения, секрет-менеджеры, почему ключи нельзя коммитить в репозиторий и держать во фронтенде.

    3. Первый запрос: Claude и OpenAI

      Структура первого запроса к Anthropic Messages API и OpenAI Chat Completions, установка SDK и извлечение текста ответа.

    4. Модель, токены и стоимость

      Что такое токены, как выбрать модель LLM по цене и качеству и как оценить стоимость запроса. Запускаемый грубый счётчик токенов.

    5. Лимиты и rate limits

      Что такое rate limits (RPM, TPM, TPD) в LLM API, как читать заголовки лимитов и почему ошибка 429 — это нормально.

  2. 2 Формат сообщений и параметры

    1. Роли и история диалога

      Роли system, user и assistant в LLM API и как из них собирается история диалога. Запускаемая сборка массива messages.

    2. Многоходовой разговор

      Как поддерживать многоходовой диалог с LLM: передача истории, рост контекста и обрезка старых сообщений. Запускаемый пример окна истории.

    3. Параметры генерации

      Параметры генерации LLM: temperature, max_tokens, top_p, stop-последовательности — на что влияет каждый и когда какой использовать.

    4. Системный промпт

      Зачем нужен системный промпт в LLM API, как он задаёт роль и правила модели и чем отличается от пользовательских сообщений.

  3. 3 Стриминг и обработка ответов

    1. Потоковая генерация (streaming)

      Зачем нужен стриминг в LLM API, как обрабатывать чанки ответа и почему длинные ответы лучше получать потоком. Запускаемая сборка текста из чанков.

    2. Структура ответа и учёт токенов

      Как устроен ответ LLM API: извлечение текста, stop_reason и счётчики токенов usage. Запускаемый разбор готового JSON-ответа.

    3. Обработка ошибок: таймауты, повторы, backoff

      Как обрабатывать ошибки LLM API: коды 429 и 5xx, таймауты, идемпотентные повторы и экспоненциальный backoff. Запускаемый расчёт задержек.

    4. Асинхронные запросы

      Идея асинхронных и параллельных запросов к LLM API: зачем нужен async, как обрабатывать много запросов одновременно и где подводные камни.

  4. 4 Структурированный вывод и инструменты

    1. Получение строгого JSON

      Как заставить LLM возвращать строгий JSON: схемы, structured outputs, валидация ответа. Запускаемая проверка JSON по схеме полей.

    2. Вызов инструментов: как это работает

      Function calling / tool use в LLM API: полный протокол вызова инструментов — определение tools, блок tool_use, выполнение и возврат результата.

    3. Диспетчеризация вызова инструмента

      Как маршрутизировать вызов инструмента LLM по имени к нужной функции через реестр. Запускаемый пример диспетчера tool_use.

    4. Параллельные вызовы инструментов

      Параллельные вызовы инструментов в LLM: когда модель просит несколько вызовов сразу и как вернуть все результаты одним сообщением. Запускаемый пример.

  5. 5 Продвинутые возможности

    1. Длинный контекст и документы

      Работа с длинным контекстом и документами в LLM API: контекстное окно, передача документов, цитирование и стратегии для больших текстов.

    2. Мультимодальность: изображения на вход

      Обзор мультимодальности LLM: передача изображений на вход модели, форматы, базовые сценарии и ограничения работы с картинками.

    3. Кэширование промптов

      Кэширование промптов в LLM API: как переиспользовать общий префикс контекста ради экономии. Запускаемый расчёт экономии на кэше.

    4. Батчевая обработка

      Батчевая обработка в LLM API: как массово обрабатывать тысячи запросов асинхронно дешевле и когда выбирать batch вместо обычных вызовов.

    5. Эмбеддинги и мост к RAG

      Эмбеддинги через API: как превратить текст в вектор для поиска по смыслу и построить RAG. Запускаемый расчёт косинусной близости.

  6. 6 Продакшн

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

      Архитектура продакшн-приложения с LLM: где хранить промпты, как организовать ретраи и фолбэки, изоляция LLM-слоя.

    2. Контроль стоимости

      Как контролировать стоимость LLM в продакшене: выбор модели, сокращение токенов, кэш и батчи. Запускаемый расчёт затрат по моделям.

    3. Безопасность: инъекции, модерация, ограничение вывода

      Безопасность LLM-приложений: промпт-инъекции, модерация ввода и вывода, ограничение действий модели. Запускаемый наивный детектор инъекций.

    4. Наблюдаемость: логи и метрики

      Наблюдаемость LLM-приложений: что логировать в запросах и ответах, какие метрики собирать (латентность, токены, стоимость, ошибки).

    5. Тестирование LLM-функций

      Как тестировать функции с LLM: моки вместо реального API, проверка парсинга и логики, оценочные тесты качества. Запускаемый пример с фейк-клиентом.

    6. Claude vs OpenAI и что дальше

      Различия Claude и OpenAI API, переносимость кода между провайдерами и направления для дальнейшего изучения: фреймворки и агенты.