나도 초보자, OpenAI API 사용법
Completion vs Response(Chat) 완벽 비교 + 활용법
ChatGPT를 API로 쓸 때,
"Completion"이랑 "Response(Chat)"
방식의 차이와 활용법을 예쁘게 정리!
(모든 용어/코드는 주석과 함께, 진짜 쉬워!ㅎㅎ)
OpenAI API란?
OpenAI API는 내가 만든 프로그램이나 웹사이트에서 챗GPT 같은 AI의 똑똑한 답변이나 글쓰기, 번역, 상담 등을 자동으로 불러쓸 수 있게 해주는 서비스에요.
활용 예시:
- 챗봇 만들기
- 자동 요약, 번역, 감정 분석
- 고객 상담 자동화
- 글쓰기/코딩 보조
Completion vs Response(Chat) 차이
OpenAI API엔 크게 두 가지 방식!
1. Completion 방식
- 프롬프트(prompt): AI에게 하고 싶은 질문/명령을 한 줄로 써줍니다.
- AI가 이 프롬프트 뒤에 이어서 문장/답변을 만들어줘요.
- 단순하고 빠르지만, 대화 맥락은 기억 잘 못함!
{
"model": "text-davinci-003", // 사용할 AI 모델 이름
"prompt": "고양이에 대해 설명해줘.", // AI에게 줄 질문/명령(프롬프트)
"max_tokens": 100 // 생성할 글자(토큰) 최대 수
}
// 주석 설명
model: AI 엔진 종류(gpt-3, gpt-4 등)
prompt: AI에게 할 질문/명령(문장 1개)
max_tokens: 생성할 최대 답변 분량 (글자 X, "토큰" 단위)
2. Response(Chat) 방식 💬
- messages라는 배열(리스트)에 대화 내용을 여러 줄로 쌓아올림
- 각 메시지엔 role(역할)이 있음: system(지시), user(질문), assistant(AI 답변)
- 대화 맥락을 기억하며, 챗봇처럼 자연스러운 대화 가능!
{
"model": "gpt-3.5-turbo", // 챗GPT 모델 이름
"messages": [
{"role": "system", "content": "너는 귀여운 조수야."}, // AI 역할 지시
{"role": "user", "content": "고양이에 대해 설명해줘."} // 유저 질문
],
"temperature": 0.7, // 창의성(0~2)
"max_tokens": 150 // 최대 답변 분량
}
// 주석 설명
role: 누가 말하는지 (system=지시, user=질문, assistant=AI답변)
content: 실제 말(지시/질문/답변)
temperature: 창의성(0=딱딱, 2=상상력 폭발!)
messages: 대화 전체 내역(챗봇 필수!)
📊 Completion vs Chat 한눈 비교!
| 구분 | Completion 방식 | Response(Chat) 방식 |
|---|---|---|
| 입력 구조 | prompt (질문 1개) | messages (여러 줄 대화) |
| 역할/Role | 없음 | system/user/assistant |
| 대화 맥락 | 유지 어려움 | 잘 유지함(챗봇에 적합) |
| 추천 활용 | 한 줄 답변, 텍스트 생성 | 챗봇, Q&A, 상담 등 |
| 코드 구조 | 단순함 | 조금 복잡하지만 유연 |
🪄 기본 활용법 예시 (파이썬)
- 파이썬에서 openai 라이브러리 설치
pip install openai
🐾 Completion 예시
import openai
openai.api_key = "내 API 키 입력"
response = openai.Completion.create(
model="text-davinci-003",
prompt="고양이에 대해 설명해줘.",
max_tokens=100
)
print(response.choices[0].text.strip())
Chat 예시
import openai
openai.api_key = "내 API 키 입력"
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "너는 귀여운 조수야."},
{"role": "user", "content": "고양이에 대해 설명해줘."}
],
max_tokens=150,
temperature=0.7
)
print(response.choices[0].message['content'].strip())
독자가 궁금해할 Q&A
Q1. 어떤 모델을 써야 할까요?
gpt-3.5-turbo는 빠르고 저렴, 챗봇/상담용에 Good!
gpt-4 계열은 더 똑똑하고 장문·어려운 문장에 강하지만, 가격이 높음.
공식 모델 비교 바로가기
토큰(token)은 "글자"가 아닌 단어 조각.
예를 들어, "고양이"는 2토큰, "cat"은 1토큰. 요금도 토큰 기준으로 책정됨!
더 자세한 설명 : "처음 접한 ChatGPT API × Python"과 OpenAI 토크나이저 공식 안내를 참고.
Q3. Chat 방식으로 여러 질문을 한 번에 할 수 있나요?
네! messages에 질문/답변을 계속 쌓으면, AI가 대화 맥락을 파악해 더 똑똑하게 답변해요!
Q4. 실제 활용 예시는?
고객상담 챗봇, 블로그 글 자동 생성, 메일/문서 요약, 소설/시/대화문 생성, 코딩 질문/디버깅 등
- 활용 팁 & 참고자료
핵심요약
- Completion: 프롬프트 한 줄, 단순한 답변/글쓰기용
- Chat(Response): messages 배열, 챗봇/상담 등 대화형에 추천!
- 코딩/자동화 시, 구조와 용어(주석!)를 잘 보고 맞는 방식 선택!
반응형