본문 바로가기
푸닥거리

gpt-3.5-turbo api 호출

by ┌(  ̄∇ ̄)┘™ 2023. 3. 8.
728x90

OpenAI의 gpt-3.5-turbo 채팅 모델을 PHP에서 cURL로 직접 호출하는 가장 기본적인 예제입니다. SDK 없이 REST API를 그대로 쓰는 방식이라, 어떤 언어로든 옮기기 쉽습니다.

PHP 예제 코드

핵심 요소 설명

  • endpoint — 채팅 모델은 /v1/chat/completions를 사용합니다. (구형 /v1/completions와 다름)
  • messages 배열 — 단순 문자열이 아니라 role(system/user/assistant) + content 객체의 배열입니다. 대화 맥락을 유지하려면 이 배열에 이전 주고받은 메시지를 계속 쌓아 보냅니다.
  • Authorization 헤더Bearer YOUR_API_KEY 형식으로 인증합니다.
  • temperature — 0에 가까울수록 일관되고 결정적인 답변, 1에 가까울수록 다양하고 창의적인 답변.
  • max_tokens — 응답 길이 상한. 입력+출력 토큰 합이 모델의 컨텍스트 한도를 넘지 않아야 합니다.

응답에서 답변만 꺼내기

curl_exec가 돌려주는 JSON에서 실제 답변 텍스트는 choices[0].message.content에 있습니다. 파싱하면:

$result = json_decode($output, true);
$answer = $result["choices"][0]["message"]["content"];
echo $answer;

실무 주의점

  • API 키 보안 — 키를 소스에 하드코딩하지 말고 환경변수나 서버 설정으로 분리하세요. 프론트엔드(JS)에 노출하면 절대 안 됩니다.
  • 에러 처리 — 실제 서비스에서는 HTTP 상태 코드 확인과 rate limit(429) 재시도 로직이 필요합니다.
  • 모델 선택 — gpt-3.5-turbo는 당시 기준이며, 현재는 더 저렴하고 강력한 최신 모델들이 나와 있습니다. 최신 모델명은 OpenAI 모델 문서에서 확인하세요.
  • 비용 — 호출량 × 토큰 수만큼 과금되므로, max_tokens와 프롬프트 길이를 관리하는 것이 곧 비용 관리입니다.
 

OpenAI API

An API for accessing new AI models developed by OpenAI

platform.openai.com

728x90

댓글