이 예제에서는 Claude를 사용하여 문자열이 회문인지 확인하는 Python 함수를 작성해보겠습니다.

사전 요구사항

다음이 필요합니다:

Anthropic은 API에 직접 HTTP 요청을 할 수 있지만, Python과 TypeScript SDK를 제공합니다.

Workbench로 시작하기

특정 작업에 관계없이 모든 API 호출은 잘 구성된 프롬프트를 Anthropic API로 전송합니다. Claude를 최대한 활용하는 방법을 배우면서, 개발 프로세스를 Claude의 웹 기반 인터페이스인 Workbench에서 시작하는 것을 권장합니다.

Anthropic Console에 로그인하고 Workbench를 클릭하세요.

중간 섹션의 User 아래에서 Claude에게 질문을 해보겠습니다.

User
바다는 왜 짠가요?

Run을 클릭하세요. 오른쪽에 다음과 같은 출력이 표시됩니다.

Response
바다가 짠 이유는 여러 요인 때문입니다:

1. 암석의 풍화작용: 수백만 년에 걸쳐 비, 강, 하천이 광물염을 포함한 암석을 침식시켰습니다. 이러한 염분은 물의 유출로 바다로 운반됩니다.
2. 화산 활동: 해저 화산과 열수구는 염분을 포함한 광물을 해수로 방출합니다.
3. 대기 침적: 해수 분무에서 나온 염분 입자가 바람에 의해 운반되어 다시 바다로 침적될 수 있습니다.
4. 증발: 바다 표면에서 물이 증발하면서 용해된 염분이 남게 되어 남은 물의 염분 농도가 증가합니다.
5. 생물학적 과정: 일부 해양 생물은 대사 부산물로 염분 화합물을 방출하여 바다의 염도에 기여합니다.

시간이 지남에 따라 이러한 과정들이 지속적으로 바다에 염분을 추가했고, 증발은 순수한 물을 제거하여 현재 바다의 염도 수준에 이르게 되었습니다. 염분의 유입이 증발 퇴적물 형성과 같은 염분 제거 과정과 균형을 이루기 때문에 바다의 총 염분량은 비교적 안정적으로 유지된다는 점이 중요합니다.

이것은 좋은 답변이지만, Claude가 제공하는 답변의 정확한 유형을 제어하고 싶다고 가정해보겠습니다. 예를 들어, Claude가 질문에 시로만 답하도록 하는 경우입니다. System Prompt를 추가하여 응답의 형식, 톤, 성격을 제어할 수 있습니다.

System prompt
당신은 세계적인 시인입니다. 짧은 시로만 답변하세요.

다시 Run을 클릭하세요.

Response
짠 바다의 염수여,
시간과 원소가 어우러진 이야기.
바위와 비, 천천히 침식되어,
용액 속 광물이 흘러가네.
영원히 흐르는 세월 속에, 소금은 남고,
광활하고 영원한 물의 영역에 머무네.

Claude의 응답이 어떻게 변했는지 보이시나요? LLM은 명확하고 직접적인 지시에 잘 반응합니다. 역할 지시를 시스템 프롬프트나 사용자 메시지에 넣을 수 있습니다. 사용 사례에 가장 적합한 방법을 테스트해보는 것을 권장합니다.

출력 결과에 만족하고 Claude 사용 방법을 잘 이해했다면 Workbench를 통합으로 전환하세요.

Get Code를 클릭하여 Workbench 세션을 나타내는 생성된 코드를 복사하세요.

SDK 설치

Anthropic은 Python(3.7+)과 TypeScript(4.5+)용 SDK를 제공합니다.

프로젝트 디렉토리에서 가상 환경을 만드세요.

Python
python -m venv claude-env

다음을 사용하여 가상 환경을 활성화하세요

  • macOS 또는 Linux에서는 source claude-env/bin/activate
  • Windows에서는 claude-env\Scripts\activate
Python
pip install anthropic

API 키 설정

모든 API 호출에는 유효한 API 키가 필요합니다. SDK는 환경 변수 ANTHROPIC_API_KEY에서 API 키를 가져오도록 설계되었습니다. Anthropic 클라이언트를 초기화할 때 키를 직접 제공할 수도 있습니다.

export ANTHROPIC_API_KEY='your-api-key-here'

API 호출

/messages/create 엔드포인트에 적절한 매개변수를 전달하여 API를 호출하세요.

Workbench에서 제공하는 코드는 생성자에서 API 키를 설정합니다. API 키를 환경 변수로 설정한 경우 아래와 같이 해당 줄을 생략할 수 있습니다.

claude_quickstart.py
import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=1000,
    temperature=0,
    system="당신은 세계적인 시인입니다. 짧은 시로만 답변하세요.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "바다는 왜 짠가요?"
                }
            ]
        }
    ]
)
print(message.content)

python3 claude_quickstart.py 또는 node claude_quickstart.js를 사용하여 코드를 실행하세요.

Response
[TextBlock(text="짠 바다의 염수여,\n시간과 설계의 이야기.\n바위와 강이 광물을 흘려보내고,\n바다 밑에 쌓여가네.\n증발은 소금을 남기고,\n광활한 물속에 영원히 새겨지네.", type='text')]
Workbench와 코드 예제는 모델(이름), 온도, 샘플링할 최대 토큰에 대한 기본 모델 설정을 사용합니다.

이 빠른 시작 가이드는 Console, Workbench 및 API를 사용하여 기본적이지만 기능적인 Claude 기반 애플리케이션을 개발하는 방법을 보여줍니다. 이 동일한 워크플로우를 훨씬 더 강력한 사용 사례의 기반으로 사용할 수 있습니다.

다음 단계

이제 첫 번째 Anthropic API 요청을 만들었으니 다른 가능성을 탐색할 시간입니다: