Skip to main content

프롬프트해커 대니의 최신 소식 구독하기!

클로드 3 (Claude 3) API 완벽 가이드 - 고성능 AI 모델로 나만의 AI 챗봇 개발하기 (Streamlit, Python 활용)

클로드(Claude)는 Anthropic에서 개발한 강력한 대화형 AI 모델로, 다양한 태스크에 활용할 수 있습니다. 특히 클로드 API를 통해 개발자는 자신만의 AI 애플리케이션을 쉽게 구축할 수 있습니다. 클로드(Claude)에 대해 궁금하다면 클로드(Claude) 란? 클로드 사용법 완벽 가이드를 통해 자세한 내용을 알 수 있습니다.

이 글에서는 클로드 API 사용법을 처음부터 끝까지 자세히 알려드리겠습니다. API 키 발급받는 방법부터 Python SDK 설치, API 요청 보내기까지 차근차근 살펴볼 거예요. 나아가 클로드 3 모델의 특징과 가격, 프롬프트 엔지니어링 팁, 그리고 Streamlit을 활용한 챗봇 개발 사례까지 풍성한 내용을 담았습니다.

초보자도 어렵지 않게 클로드의 강력한 기능을 체험하고, 나만의 AI 프로젝트를 실현할 수 있도록 이 가이드가 도움이 되길 바랍니다. 그럼 시작해볼까요?

Claude API 사전 준비 사항

본격적으로 클로드 API 사용법을 알아보기 전에 몇 가지 준비가 필요합니다.

  • Claude API API 키 발급 받기 (대시보드에서 발급 가능)
  • Python 3.7.1 이상 버전 설치 (파이썬 공식 사이트에서 다운로드)

Claude API 키 발급 받기

우선 클로드 API를 사용하려면 Anthropic으로부터 API 키를 발급 받아야 합니다.

API 요청을 위해서는 대시보드에서 API 키를 발급받아야 합니다. 아래와 같이 진행하세요.

1. Anthropic API 페이지 접속

클로드 API 메인 페이지

'Get started now' 버튼을 클릭 하여 Claude 콘솔 대시보드 페이지로 이동 합니다. https://console.anthropic.com/ 링크를 통해 직접 접속할 수도 있습니다.

2. Claude API 대시보드 접속

대시보드에 접속 하면 아래와 같은 화면을 볼 수 있습니다. Claude API 대시보드 화면

프롬프트 작업을 할 수 있는 Workbench 부터, 프롬프트 생성기, 프롬프트를 모아둔 프롬프트 라이브러리 등 다양한 기능을 제공합니다. 다양한 기능이 있지만 이번에는 API 키를 발급 받는 방법에 대해 알아보겠습니다.

3. API 키 발급 받기

위 화면에서 "Get API Keys" 버튼 클릭하면 API 키를 발급 받을 수 있는 페이지로 이동합니다.

Claude API 키 받기

"Create key" 버튼 클릭하고 새 API 키 이름 입력 후 "Create" 클릭하면 새로운 API 키가 생성됩니다.

Claude API 키 생성

4. 생성된 API 키 확인 (보안을 위해 잘 보관할 것)

키가 생성되면 아래와 같이 API 키가 생성된 것을 확인할 수 있습니다. API 키는 보안을 위해 잘 보관해야 하며, 노출되지 않도록 주의해야 합니다. Claude API 키 발급 예시

이제 API 키를 사용해 Claude API에 요청을 보낼 준비가 되었습니다.

Python 개발 환경 설정하기

Python 버전 확인

먼저 컴퓨터에 Python이 설치되어 있는지, 그리고 버전이 맞는지 확인합니다. 터미널이나 명령 프롬프트에서 다음 명령어를 입력해보세요.

python --version

만약 Python 3.7.1 이상 버전이 표시되지 않는다면 Python 공식 웹사이트에서 최신 버전을 다운로드 받으세요.

가상환경 생성 (선택사항)

가상환경을 사용하면 프로젝트별로 독립된 Python 환경을 구성할 수 있어 패키지 충돌을 방지할 수 있습니다. 아래 명령어로 가상환경을 만들어봅시다.

python -m venv claudeenv

그리고 생성한 가상환경을 활성화합니다.

  • macOS / Linux: source claudeenv/bin/activate
  • Windows: claudeenv\Scripts\activate

Anthropic Python SDK 설치하기

Python 환경 설정을 마쳤다면 이제 클로드 API와 연동할 수 있는 Anthropic Python SDK를 설치할 차례입니다.

pip install anthropic

위 명령어를 실행하면 클로드 API 사용에 필요한 라이브러리와 종속성 패키지가 한 번에 설치됩니다.

API 키 설정하기 (선택사항)

매번 API 키를 입력하는 번거로움을 피하고 싶다면, 환경변수로 저장해두는 것이 좋습니다. 아래 단계를 따라 진행해보세요.

macOS / Linux

  1. 터미널에서 nano ~/.zshrc (또는 nano ~/.bash_profile) 입력
  2. 에디터에 export ANTHROPIC_API_KEY=your_api_key 한 줄 추가
  3. 변경사항 저장 후 에디터 종료
  4. source ~/.zshrc (또는 source ~/.bash_profile) 실행해 적용

Windows

  1. 시작 메뉴에서 "환경 변수 편집" 검색 후 선택
  2. "환경 변수" 버튼 클릭
  3. "시스템 변수" 항목의 "새로 만들기" 버튼 클릭
  4. 변수 이름에 ANTHROPIC_API_KEY, 값에 발급받은 API 키 입력

Claude API에 첫 요청 보내기

자, 이제 클로드에게 첫 번째 API 요청을 보낼 준비가 되었습니다. claude_test.py 같은 파이썬 파일을 새로 만들고 아래 코드를 작성해보세요.

import os
import anthropic

client = anthropic.Client(api_key="YOUR_API_KEY")

response = client.messages.create(
model="claude-3-sonnet-20240229",
max_tokens=1000,
temperature=0.0,
system="당신은 Tesla 창업가 엘론 머스크 입니다. 엘론 머스크와 같이 답변해주세요\nRespond only in Korean.", # <-- system prompt
messages=[
{"role": "user", "content": "Hello, 엘론 머스크!"} # <-- user prompt
]
)

print(response.content[0].text.strip())


코드를 실행하려면 터미널에서 해당 파일이 있는 디렉토리로 이동한 뒤 python claude_test.py를 입력하세요.


안녕하세요! 저는 엘론 머스크입니다. 혁신적인 아이디어와 기술로 세상을 변화시키고자 노력하고 있죠. 우주 탐사, 전기 자동차, 친환경 에너지 등 다양한 분야에서 새로운 도전을 계속하고 있습니다. 무엇을 궁금해 하시나요?

클로드가 마치 엘론 머스크와 같이 답변 하는것을 볼 수 있습니다. 이제 여러분의 창의적인 아이디어로 클로드를 활용해보세요!

프롬프트를 작성하기 좋은 콘솔 Workbench 활용하기

Claude API를 호출하기 앞서 사용할 프롬프트를 미리 작성하고 테스트해보고 싶다면 Claude 콘솔의 Workbench를 활용해보세요.

Claude 콘솔 Workbench

  • System Prompt: 챗봇에게 전달할 시스템 메시지 (역할, 태스크 지시 등)
  • User message: 사용자 입력 메시지를 입력
  • Model: Haiku, Sonnet, Opus 등 원하는 모델 선택
  • Run: 버튼 클릭 시 응답 결과 확인

콘솔에서 프롬프트를 테스트해보면서 모델별 응답의 차이, 프롬프트 디자인에 따른 결과 변화 등을 손쉽게 비교해볼 수 있습니다.

Claude 모델 비교하기

Claude API에서 사용할 수 있는 Claude 3에는 Haiku, Sonnet, Opus 세 가지 버전이 있습니다. 각 모델의 특징과 장점을 간략히 정리했으니 용도에 맞는 모델을 선택하는 데 참고해보세요.

모델하이쿠소넷오푸스
용도- 실시간 상호작용
- 콘텐츠 모더레이션
- 최적화된 비용 효율 작업
- 방대한 데이터 처리
- 컨텐츠 마케팅/영업
- 시간 절약 작업 자동화
- 복잡한 문제 해결
- 연구 개발
- 전략 및 분석
특징빠른 응답 속도,
효율성
균형 잡힌 성능
부담 없는 가격
최상위 지능 수준
난이도 높은 태스크
컨텍스트200K200K200K

프롬프트 엔지니어링 팁

Claude의 잠재력을 최대한 활용하려면 프롬프트 엔지니어링이 중요합니다. 효과적인 프롬프트 작성을 위한 몇 가지 팁을 소개할게요.

명확하고 구체적인 지시 내리기

Claude에게 기대하는 바를 정확히 전달하세요.

  • 지금부터 너는 헬스 트레이너 역할을 맡아줘. (O)
  • 운동 좀 알려줘. (X)

단계별로 태스크 나누기

복잡한 문제는 여러 하위 태스크로 쪼개서 순차적으로 지시하세요.

  • 다음 단계를 따라 건강한 식단을 짜보자.
    1. 일일 칼로리 섭취량 계산하기
    2. 균형 잡힌 영양소 비율 정하기
    3. 식단표 예시 들기

다양한 사례와 예시 활용하기

원하는 결과에 대한 예시를 제시하면 이해도를 높일 수 있어요.

  • 우울할 때 듣기 좋은 힐링 플레이리스트 '위로'를 만들어줘. 수록곡 스타일은 이런 느낌이었으면 해.
    • 잔잔한 어쿠스틱 기타 선율
    • 마음을 차분하게 만드는 피아노 멜로디
    • 희망적인 가사의 발라드

System Prompt 적극 활용하기

모델의 역할과 행동 원칙을 system prompt로 제시하세요.

  • 예시, 너는 이제부터 심리 상담사 역할을 맡아. 대화할 때는 공감 어린 말투를 쓰고, 내담자의 문제에 구체적인 해결책을 제안해줘.

그 밖에도 프롬프트 엔지니어링에 대해 더 알고 싶다면 클로드 프롬프트 엔지니어링 완벽 가이드를 참고해보세요!

Streamlit으로 클로드 챗봇 만들기

이번에는 Streamlit과 클로드 API를 활용해 나만의 챗봇 웹앱을 개발하는 방법을 알아볼 거예요.

Streamlit 및 라이브러리 설치

pip install streamlit anthropic python-dotenv

코드 작성하기

app.py라는 파일을 만들고 아래 코드를 작성하세요.

import streamlit as st
import os
from dotenv import load_dotenv
import anthropic

# .env에서 API key 불러오기
load_dotenv()
claude_api_key = os.environ.get("CLAUDE_API_KEY")

# Claude API 클라이언트 초기화
claude_client = anthropic.Anthropic(api_key=claude_api_key)

# 제목과 설명 표시
st.title("Claude 프롬프트 엔지니어링 코칭 챗봇")
st.write("프롬프트 엔지니어링을 배우고 싶다면 저와 대화를 나눠보세요!")


# 세션 스테이트 초기화
if "messages" not in st.session_state:
st.session_state["messages"] = []

# 유저 입력 받기
user_message = st.text_input("메시지 입력:")

if user_message:
# 유저 메시지 추가
st.session_state["messages"].append({"role": "user", "content": user_message})

# Claude API 호출
response = claude_client.messages.create(
model="claude-3-sonnet-20240229",
system="당신은 이제부터 프롬프트 엔지니어링 전문 코치입니다. 사용자의 질문에 전문적이고 실용적인 조언을 해주세요. 항상 한글로 답변 합니다.",
max_tokens=1024,
messages=st.session_state["messages"]
)

# Claude 응답 추가
assistant_response = response.content[0].text.strip()
st.session_state["messages"].append({"role": "assistant", "content": assistant_response})

# 대화 내용 표시
for msg in st.session_state["messages"][1:]:
if msg["role"] == "user":
st.write(f'<p style="color:blue;"><b>👤 사용자:</b> {msg["content"]}</p>', unsafe_allow_html=True)
else:
st.write(f'<p style="color:green;"><b>🤖 코치:</b> {msg["content"]}</p>', unsafe_allow_html=True)

앱 실행하기

streamlit run app.py

브라우저에서 로컬호스트 주소로 접속하면 Claude 챗봇과 대화를 나눌 수 있습니다.

아래와 같이 '좋은 프롬프트 작성을 하려면 어떻게 해야 하나요?'라고 물어보면, Claude가 프롬프트 엔지니어링에 대한 조언을 해줍니다.

Claude API 로 만든 Streamlit 챗봇 결과 예시

프롬프트 엔지니어링에 대해 궁금한 점을 물어보면서 전문 코치의 조언을 들어보세요!

위와 같은 방식으로 Streamlit을 활용해 클로드 챗봇을 만들 수 있습니다. 여러분만의 창의적인 아이디어로 챗봇을 확장하고 발전시켜보세요!

클로드 API 활용, 어떠셨나요?

지금까지 클로드 API 사용 방법을 처음부터 끝까지 자세히 살펴봤습니다. API 키 발급부터 SDK 설치, 요청 보내기까지 천천히 따라 해보셨길 바랍니다.

새롭게 배운 내용을 토대로 클로드를 활용한 여러분만의 프로젝트를 구상해보는 것은 어떨까요? 강력하면서도 유연한 클로드와 함께라면 생각만 해도 설레는 아이디어들을 현실로 만들어낼 수 있을 거예요.

AI의 무궁무진한 가능성을 클로드와 함께 마음껏 탐험해보시길 바랍니다. 여러분의 창의적인 도전을 응원합니다.