Фаза 00 · урок 04

API и ключи

Цель урока: Начиная с фазы 11 вы будете обращаться к API языковых моделей Anthropic, OpenAI и Google. В фазах 13–16 вы создадите агентов, циклически использующих эти API. Вам нужно знать, как работают ключи API, как безопасно их хранить и как…

Текущий релиз AlexBred.com: первые 100 уроков русскоязычной программы.

Курс
AI Engineering from Scratch
Фаза
Настройка и инструменты
Чтение
5 мин.
Проверено
Содержание урока
  1. Цели обучения
  2. Проблема
  3. Концепция
  4. Собираем сами
  5. Шаг 1. Безопасно храните ключи API
  6. Шаг 2. Первый запрос к API на Python
  7. Шаг 3. Первый запрос к API на TypeScript
  8. Шаг 4. Чистый HTTP без SDK
  9. Используем готовое
  10. Готовый результат
  11. Упражнения
  12. Ключевые термины

Все AI API работают одинаково: отправляете запрос и получаете ответ. Детали меняются, принцип остаётся прежним.

Тип: Практика Языки: Python, TypeScript Предварительные требования: Фаза 0, урок 01 Время: около 30 минут

Цели обучения

  • Безопасно хранить ключи API с помощью переменных окружения и файлов .env.
  • Выполнить запрос к API языковой модели с помощью Python SDK Anthropic и напрямую через HTTP.
  • Сравнить форматы запросов и ответов при работе через SDK и чистый HTTP для целей отладки.
  • Распознавать и обрабатывать распространённые ошибки API, включая ошибки аутентификации и ограничения частоты запросов.

Проблема

Начиная с фазы 11 вы будете обращаться к API языковых моделей Anthropic, OpenAI и Google. В фазах 13–16 вы создадите агентов, циклически использующих эти API. Вам нужно знать, как работают ключи API, как безопасно их хранить и как выполнить первый запрос.

Концепция

Диаграмма к уроку «API и ключи»

У каждого вызова API есть четыре составляющие:

  1. Конечная точка (endpoint, URL).
  2. Ключ API для аутентификации.
  3. Тело запроса — то, что вам нужно.
  4. Тело ответа — то, что вы получаете.

Собираем сами

Шаг 1. Безопасно храните ключи API

Никогда не помещайте ключи API непосредственно в код. Используйте переменные окружения.

export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."

Можно также использовать файл .env, добавив его в .gitignore:

ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...

Шаг 2. Первый запрос к API на Python

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=256,
    messages=[{"role": "user", "content": "What is a neural network in one sentence?"}]
)

print(response.content[0].text)

Шаг 3. Первый запрос к API на TypeScript

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

const response = await client.messages.create({
  model: "claude-sonnet-4-20250514",
  max_tokens: 256,
  messages: [{ role: "user", content: "What is a neural network in one sentence?" }],
});

console.log(response.content[0].text);

Шаг 4. Чистый HTTP без SDK

import os
import urllib.request
import json

url = "https://api.anthropic.com/v1/messages"
headers = {
    "Content-Type": "application/json",
    "x-api-key": os.environ["ANTHROPIC_API_KEY"],
    "anthropic-version": "2023-06-01",
}
body = json.dumps({
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "What is a neural network in one sentence?"}],
}).encode()

req = urllib.request.Request(url, data=body, headers=headers, method="POST")
with urllib.request.urlopen(req) as resp:
    result = json.loads(resp.read())
    print(result["content"][0]["text"])

Именно это SDK выполняет внутри. Понимание чистого HTTP-запроса помогает при отладке.

Используем готовое

Для этого курса:

API Когда он понадобится Бесплатный тариф
Anthropic (Claude) Фазы 11–16: агенты и инструменты Кредит $5 при регистрации
OpenAI Фаза 11: сравнение Кредит $5 при регистрации
Hugging Face Фазы 4–10: модели и наборы данных Бесплатно

Сейчас не нужно настраивать их все. Делайте это тогда, когда API потребуется в соответствующем уроке.

[!note] Примечание переводчика Бесплатные тарифы, стартовые кредиты и доступность указанной модели отражают исходную ревизию от 25 июня 2026 года. Перед запуском примеров проверьте актуальные условия и названия моделей в официальной документации провайдера.

Готовый результат

Этот урок создаёт:

  • outputs/prompt-api-troubleshooter.md — промпт для диагностики распространённых ошибок API.

Упражнения

  1. Получите ключ API Anthropic и выполните первый запрос.
  2. Попробуйте вариант с чистым HTTP и сравните формат ответа с вариантом через SDK.
  3. Намеренно укажите неверный ключ API и прочитайте сообщение об ошибке.

Ключевые термины

Термин Как обычно говорят Что это означает на самом деле
Ключ API (API key) «Пароль от API» Уникальная строка, идентифицирующая учётную запись и разрешающая выполнять запросы
Ограничение частоты (rate limit) «Они меня замедляют» Максимальное число запросов в минуту или час, ограничивающее злоупотребления и обеспечивающее справедливое использование
Токен (token) «Слово» в контексте API Единица тарификации: входные и выходные токены подсчитываются и оплачиваются отдельно
Потоковая передача (streaming) «Ответы в реальном времени» Получение ответа по частям вместо ожидания полного результата

Источник: APIs & Keys — оригинал Навигация: назад: 00.03 — Настройка GPU и облачные вычисления · Фаза 0 — Настройка и инструменты · Полный каталог · далее: 00.05 — Блокноты Jupyter.