이 예제에서는 Claude가 문자열이 회문인지 확인하는 Python 함수를 작성하도록 하겠습니다.

전제 조건

이 빠른 시작을 완료하려면 다음이 필요합니다:

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

Workbench로 시작하기

특정 작업에 관계없이 수행하는 모든 API 호출은 잘 구성된 프롬프트를 Anthropic API로 보냅니다. Claude를 최대한 활용하는 방법을 배우는 동안에는 웹 기반 Claude 인터페이스인 Workbench에서 개발 프로세스를 시작하는 것이 좋습니다.

Anthropic Console에 로그인하고 Workbench를 클릭합니다.

가운데 섹션의 User 아래에서 Claude에게 질문해 보겠습니다.

User
왜 바다는 짠 맛이 날까요?

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

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

1. 암석의 풍화: 수백만 년에 걸쳐 비, 강, 개울이 염분을 함유한 암석을 침식시켰습니다. 이러한 염분은 물의 유출에 의해 바다로 운반됩니다.
2. 화산 활동: 수중 화산과 열수 분출공은 염분을 포함한 광물을 바닷물에 방출합니다.
3. 대기 침전: 바다 스프레이의 염분 입자는 바람에 의해 운반되어 다시 바다로 침전될 수 있습니다.
4. 증발: 바다 표면에서 물이 증발함에 따라 용존 염분이 남게 되어 남은 물의 염분 농도가 증가합니다.
5. 생물학적 과정: 일부 해양 생물은 신진대사의 부산물로 염 화합물을 방출하여 바다의 염도에 기여합니다.

시간이 지남에 따라 이러한 과정은 바다에 지속적으로 염분을 추가해 왔으며, 증발은 순수한 물을 제거하여 바다의 현재 염도 수준으로 이어졌습니다. 염분의 유입은 증발암 퇴적물의 형성과 같은 과정을 통한 염분의 제거와 균형을 이루기 때문에 바다의 총 염분량은 비교적 안정적으로 유지된다는 점에 주목할 필요가 있습니다.

이것은 좋은 답변이지만, Claude가 정확히 어떤 유형의 답변을 하도록 제어하고 싶다고 가정해 보겠습니다. 예를 들어, Claude가 질문에 시로만 응답하도록 허용하는 것입니다. 시스템 프롬프트를 추가하여 응답의 형식, 어조 및 성격을 제어할 수 있습니다.

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-20240620",
    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 요청을 수행했으므로 다른 가능성을 탐색할 시간입니다: