Практическое руководство по работе с Claude API
Ключевые тезисы:
Практическое погружение в работу с Claude API, начиная с нуля.
Цель: создать терминальный чат и простую версию RAG (Retrieval-Augmented Generation).
Важно понимать код, который генерирует ИИ, чтобы контролировать процесс и создавать качественные решения.
Работа ведется в изолированном окружении с использованием менеджера uv.
Подготовка рабочего окружения
Терминал:
- Mac:
Command + Пробел(Spotlight) → ввести "Терминал". - Windows:
Win + R→ ввестиPowerShellили найти "Терминал" в меню Пуск.
Проверка и установка необходимого ПО:
- Python: Проверить наличие командой
python3 --version. Если не установлен — скачать с python.org. - Менеджер
uv: Проверить командойuv --version. Это инструмент для создания изолированных окружений и управления зависимостями. - Создание проекта:
mkdir мой_помощник— создать папку для проекта.cd мой_помощник— перейти в неё.uv init— инициализировать проект (создаются служебные файлы).uv venv— создать виртуальное окружение.source .venv/bin/activate— активировать его (в начале строки появится(мой_помощник)).uv add anthropic— установить главную библиотеку для работы с Claude.
Получение и безопасное хранение API-ключа
- Регистрация: Идем на platform.claude.com, регистрируемся и пополняем баланс (кредиты).
- Создание ключа: В разделе
API Keysсоздаем новый ключ.
Ключ показывается только один раз! - Хранение: Ключ нельзя хранить прямо в коде. Правильный способ — файл
.env.- Создать файл:
touch .env - Открыть и добавить строку:
ANTHROPIC_API_KEY="ваш_ключ_здесь"
- Создать файл:
.gitignore: Добавить.envв файл.gitignore, чтобы случайно не выложить ключ в публичный репозиторий.
Написание первой программы
Структура программы на Python:
- Импорт библиотек: Загружаем необходимые инструменты.
- Загрузка переменных окружения: Читаем API-ключ из файла
.env. - Создание клиента: Инициализируем объект для взаимодействия с API.
- Вызов модели: Формируем и отправляем запрос.
- Обработка ответа: Работаем с данными, которые вернула модель.
Пример кода (proba.py):
# 1. Импорт
from anthropic import Anthropic
from dotenv import load_dotenv
# 2. Загрузка ключа из .env
load_dotenv()
import os
api_key = os.getenv("ANTHROPIC_API_KEY")
# 3. Создание клиента
client = Anthropic(api_key=api_key)
# 4. Вызов модели
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "Что такое API?"}]
)
# 5. Обработка ответа
print(response.content[0].text)
Запуск программы: В активированном окружении выполнить python proba.py.
Системный промт — ключевой инструмент управления
Системный промт — это специальная инструкция для модели, которая задает ее роль и стиль ответов, работая поверх пользовательских сообщений.
Как использовать:
Добавить параметр system в вызов модели:
system_prompt = "Ты пират, отвечаешь на пиратском жаргоне."
response = client.messages.create(
model="...",
max_tokens=1024,
system=system_prompt, # Передаем инструкцию
messages=[{"role": "user", "content": "Что такое API?"}]
)
Важно: Одна строка системного промта может кардинально изменить поведение модели, не меняя логику скрипта. Это основа для создания сложных приложений, где интерфейс собирает контекст и передает его модели.
Дальнейшие шаги и перспективы
От терминала к реальным приложениям:
Поделиться скриптом неудобно. Следующий шаг — создание интерфейса.
FastAPI — популярное решение:
Фреймворк для создания веб-серверов на Python.
Позволяет создать веб-интерфейс (чата) или API-сервис, к которому могут обращаться другие программы.
Знание FastAPI сейчас требуется во многих вакансиях для Python-разработчиков.
Выводы:
Работа с Claude API начинается с настройки изолированного окружения (uv) и безопасного хранения ключа.
Базовая программа состоит из пяти логических блоков, где основная работа ведется в этапах вызова модели и обработки ответа.
Системный промт — мощнейший инструмент для контроля поведения модели, основа для профессиональных AI-приложений.
Понимание архитектуры кода, даже сгенерированного ИИ, — это то, что отличает контролируемую разработку от простого «вайб-кодинга» и позволяет создавать качественные продукты.