Фаза 00 · урок 04
API и ключи
Цель урока: Начиная с фазы 11 вы будете обращаться к API языковых моделей Anthropic, OpenAI и Google. В фазах 13–16 вы создадите агентов, циклически использующих эти API. Вам нужно знать, как работают ключи API, как безопасно их хранить и как…
Текущий релиз AlexBred.com: первые 100 уроков русскоязычной программы.
Содержание урока
Все 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 есть четыре составляющие:
- Конечная точка (endpoint, URL).
- Ключ API для аутентификации.
- Тело запроса — то, что вам нужно.
- Тело ответа — то, что вы получаете.
Собираем сами
Шаг 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.
Упражнения
- Получите ключ API Anthropic и выполните первый запрос.
- Попробуйте вариант с чистым HTTP и сравните формат ответа с вариантом через SDK.
- Намеренно укажите неверный ключ API и прочитайте сообщение об ошибке.
Ключевые термины
| Термин | Как обычно говорят | Что это означает на самом деле |
|---|---|---|
| Ключ API (API key) | «Пароль от API» | Уникальная строка, идентифицирующая учётную запись и разрешающая выполнять запросы |
| Ограничение частоты (rate limit) | «Они меня замедляют» | Максимальное число запросов в минуту или час, ограничивающее злоупотребления и обеспечивающее справедливое использование |
| Токен (token) | «Слово» в контексте API | Единица тарификации: входные и выходные токены подсчитываются и оплачиваются отдельно |
| Потоковая передача (streaming) | «Ответы в реальном времени» | Получение ответа по частям вместо ожидания полного результата |
Источник: APIs & Keys — оригинал Навигация: назад: 00.03 — Настройка GPU и облачные вычисления · Фаза 0 — Настройка и инструменты · Полный каталог · далее: 00.05 — Блокноты Jupyter.