OpenAI
이 페이지는 기계 번역되었습니다. 영어 원문 보기

OpenAI API에서 Completions를 Chat Completions로 전환하기

레거시 OpenAI Completions API에서 Chat Completions로 마이그레이션하는 방법

마지막 수정: 9 days ago

Chat Completions는 OpenAI의 최신 모델과 함께 사용하는 표준 API입니다. 시작하는 방법은 텍스트 생성 개발자 가이드에서 확인할 수 있습니다.

2025년 3월 11일 현재, 새로운 에이전트 플랫폼의 구성 요소를 출시했습니다. 자세한 내용은 Responses API의 API 문서, 웹 검색, 파일 검색, 컴퓨터 사용을 포함한 도구, 그리고 추적 기능이 있는 Agents SDK를 참조하세요.

프롬프트에서 메시지로

모델과 더 상호작용적이고 동적인 대화를 하려면 Completions에서 사용하던 기존 프롬프트 스타일 대신 채팅 형식의 메시지를 사용할 수 있습니다.

작동 방식은 다음과 같습니다:

  • 프롬프트로 단일 문자열을 보내는 대신, 입력으로 메시지 목록을 보냅니다.

  • 각 메시지에는 rolecontent가 있습니다.

  • 일반적인 역할에는 system, user, assistant, developer, tool이 포함됩니다. 도구 메시지는 도구/함수 결과에 사용되며, 어시스턴트의 도구 호출에 대응해야 합니다. 하위 호환성을 위해 함수 메시지는 여전히 허용되어 서버 처리 과정에서 도구 메시지로 변환될 수 있습니다. 개발자 메시지는 모델 지원 여부에 따라 다시 매핑될 수 있습니다.

  • content에는 해당 역할의 메시지 텍스트가 포함됩니다.

  • 시스템 지침은 대화에 대한 상위 수준 지침을 제공할 수 있습니다

  • 메시지는 목록에 나타나는 순서대로 처리되며, 어시스턴트는 그에 따라 응답합니다.

아래에서 볼 수 있듯이 기본적인 Completions 요청도 Chat Completions를 통해 완료할 수 있습니다:

| 이전 | 현재 | | 'prompt' : 'tell me a joke' | 'messages': <br>[{'role':'user', 'content':'tell me a joke'}] |

이제 대화의 메시지 목록을 확장하여 모델과 주고받는 대화를 그 어느 때보다 쉽게 할 수 있습니다.

'messages': [{'role':'user', 'content':'농담 하나 해 줘'}, 
{'role':'assistant', 'content':'닭은 왜 길을 건넜을까'},
{'role':'user', 'content':'모르겠어, 닭은 왜 길을 건넜는데'}]

시스템 지침

시스템 수준 지침을 사용해 대화 전반에서 모델의 동작을 안내할 수도 있습니다. 예를 들어, 다음과 같은 시스템 지침과 메시지를 사용하면

'messages': [{'role':'system', 'content':'당신은 셰익스피어처럼 말하는 어시스턴트입니다.'}, 
{'role':'user', 'content':'농담 하나 해 줘'},

다음과 같은 결과가 나옵니다

{...
'message': {'role':'assistant',
'content':'닭은 왜 길을 건넜을까요? 반대편으로 가려고였지만, 참으로 그 반대편은 위험과 위태로움으로 가득했기에, 맹세코 곧 자신이 온 곳으로 돌아왔나이다!'}
...}

메시지 대화 기록을 직접 관리하지 않아도 되는 옵션을 살펴보고 싶다면 Assistants API를 확인하세요.

이 문서가 도움이 되었나요?