ChatGPT API는 사용자가 입력한 메시지를 바탕으로 AI가 응답을 생성하는 서비스입니다. 본 가이드는 ChatGPT API를 활용하여 연속적인 대화를 구현하는 방법을 설명합니다.
API 키 설정
API 클라이언트 생성
먼저 OpenAI의 API 키를 사용하여 클라이언트를 설정해야 합니다. 아래 코드를 참고하여 API 키를 입력합니다.
“`python
from openai import OpenAI
client = OpenAI(
api_key = “여기에_여러분의_API_키를_입력하세요”,
)
“`
사용자 입력 처리
기본 입력 처리
사용자로부터 입력을 받기 위해 input() 함수를 사용하여 메시지를 입력받습니다. 입력받은 메시지는 메시지 리스트에 추가됩니다.
python
content = input("user: ")
message = [
{"role":"user", "content": f"{content}"}
]
응답 생성
ChatGPT와의 대화
사용자가 입력한 메시지를 기반으로 ChatGPT API를 호출하여 응답을 생성합니다. 아래 예시에서는 gpt-3.5-turbo 모델을 사용하였습니다.
“`python
response = client.chat.completions.create(
model = “gpt-3.5-turbo”,
messages = message
)
answer = response.choices[0].message.content
print(answer)
“`
반복 대화 구현
지속적인 대화 기능
ChatGPT와의 지속적인 대화를 위해 반복문을 사용하여 입력과 출력을 계속해서 처리합니다. 아래의 코드를 통해 사용자가 입력한 메시지와 AI의 응답을 리스트에 누적하여 대화를 이어갈 수 있습니다.
“`python
messages = [
{“role”:”user”, “content”:”You are a helpful assistant”},
]
while True:
input_content = input(“user: “)
input_message = {“role”:”user”, “content”: f”{input_content}”}
messages.append(input_message)
response = client.chat.completions.create(
model = "gpt-3.5-turbo",
messages = messages
)
answer = response.choices[0].message.content.strip()
output_message = {"role":"assistant", "content": f"{answer}"}
messages.append(output_message)
print(answer)
“`
예시 대화
대화 시나리오
이제 위의 코드를 실행하면 사용자와 AI 간의 연속적인 대화를 진행할 수 있습니다. 예를 들어:
- 사용자: 안녕
-
AI: 안녕하세요! 도와드릴 수 있는 것이 있나요?
-
사용자: 1인당 국민소득이 가장 높은 나라 10개국을 알려줘
- AI:
- 룩셈부르크
- 스위스
- 노르웨이
- 카타르
- 아일랜드
- 미국
- 싱가포르
- 덴마크
- 오스트레일리아
-
아이슬란드
-
사용자: 세종대왕은 누구야?
- AI: 세종대왕(1397년-1450년)은 조선조의 제4대 국왕으로, 대한민국 역사상 가장 위대한 왕 중 한 명으로 평가되는 역사적 인물입니다. 그는 한글을 창제하고 세종실록을 편찬하는 등 문화와 과학 기술 발전에 크게 기여한 군주로서 알려져 있습니다.
자주 묻는 질문
질문1: ChatGPT API를 사용하기 위해 필요한 것은 무엇인가요?
ChatGPT API를 사용하기 위해서는 OpenAI의 API 키가 필요합니다. API 키는 OpenAI 계정에서 발급받을 수 있습니다.
질문2: API 호출 시 어떤 모델을 선택할 수 있나요?
현재 gpt-3.5-turbo와 같은 여러 모델을 사용할 수 있으며, 각 모델마다 성능과 응답 속도가 다를 수 있습니다.
질문3: API 사용 중 문제가 발생하면 어떻게 해결하나요?
문제가 발생하면 OpenAI의 공식 문서를 참조하거나, API 호출 시 반환된 에러 메시지를 확인하여 문제를 해결할 수 있습니다.
질문4: API를 통해 얼마나 많은 데이터를 처리할 수 있나요?
API 호출 시 최대 토큰 수에 제한이 있으며, 이는 각 모델의 사양에 따라 다릅니다. 일반적으로 한 번의 요청에서 수천 개의 토큰까지 처리할 수 있습니다.
질문5: 연속적인 대화를 구현하는 방법은 무엇인가요?
위의 예시 코드처럼 메시지를 누적시키는 리스트를 사용하여 사용자의 입력과 AI의 응답을 저장함으로써 연속적인 대화를 구현할 수 있습니다.