메인 콘텐츠로 건너뛰기
OpenAI ChatGPT는 매우 강력한 AI 대화 시스템으로, 프롬프트를 입력하기만 하면 짧게는 몇 초 안에 매끄럽고 자연스러운 응답을 생성할 수 있습니다. ChatGPT는 뛰어난 언어 이해 및 생성 능력으로 업계에서 독보적이며, כיום ChatGPT는 이미 각종 산업과 분야에서 널리 활용되고 있고 그 영향력은 더욱 두드러지고 있습니다. 일상적인 대화, 창의적 글쓰기, 전문 상담, 코드 프로그래밍 등 무엇이든 ChatGPT는 놀라운 지능형 지원을 제공하여 인간의 업무 효율성과 창의성을 크게 향상시킬 수 있습니다. 이 문서는 주로 OpenAI Chat Completion API 작업의 사용 절차를 소개하며, 이를 활용하면 공식 OpenAI ChatGPT의 대화 기능을 손쉽게 사용할 수 있습니다.

GPT-6.1 Sol

model: "gpt-6.1-sol"을 사용하여 이 모델을 선택합니다. 스트리밍 출력, 함수 호출, 구조화된 출력 및 이미지 입력을 지원합니다. 최초 공개 후 1주일 동안은 인증된 ACE T1+ 보유자(최소 100,000 ACE) 또는 권한을 부여받은 사용자에게만 공개되며, 구체적인 공개 시간은 콘솔 액세스 안내를 기준으로 합니다. 추론 수준은 low, medium, high, xhigh 및 max를 지원하며, 현재 none 또는 minimal은 지원하지 않습니다. reasoning_effort: "low"부터 시작하는 것을 권장합니다. 입력이 272,000 tokens를 초과하면 전체 요청에 긴 컨텍스트 가격이 적용되며, 비용은 콘솔의 현재 가격을 기준으로 합니다.

신청 절차

OpenAI Chat Completion API를 사용하려면 먼저 Ace Data Cloud 콘솔에서 API Token을 발급받아 예비용으로 보관하세요. 아직 로그인하거나 가입하지 않은 경우 로그인 페이지로 자동 이동하여 가입 및 로그인을 안내하며, 완료 후 현재 페이지로 자동 반환됩니다. 하나의 API Token으로 플랫폼의 모든 서비스를 호출할 수 있으며, 각 서비스마다 별도로 신청할 필요가 없습니다. 최초 신청 시 무료 할당량이 제공되어 무료로 체험할 수 있으며, 할당량이 부족할 경우 콘솔에서 공용 잔액을 충전할 수 있습니다.
📘 전체 문서: OpenAI Chat Completion API →

기본 사용

이제 그림과 같이 인터페이스에서 해당 내용을 입력할 수 있습니다:

이 인터페이스를 처음 사용할 때는 최소 세 가지 내용을 입력해야 합니다. 하나는 authorization이며, 드롭다운 목록에서 직접 선택하면 됩니다. 다른 하나의 매개변수는 model이며, model은 OpenAI ChatGPT 공식 웹사이트 모델 유형 중에서 선택하여 사용하는 것입니다. 여기에서는 주로 20가지 모델을 제공하며, 자세한 내용은 제공되는 모델을 확인할 수 있습니다. 마지막 매개변수는 messages이며, messages는 입력하는 질문 문구 배열입니다. 이는 배열로, 여러 개의 질문 문구를 동시에 업로드할 수 있음을 의미하며, 각 질문 문구에는 role과 content가 포함됩니다. 이 중 role은 질문자의 역할을 나타내며, user, assistant, system의 세 가지 역할을 제공합니다. 다른 하나인 content는 질문하는 구체적인 내용입니다. 동시에 오른쪽에 해당 호출 코드가 생성되는 것을 확인할 수 있으며, 코드를 복사하여 직접 실행하거나 「Try」 버튼을 직접 클릭하여 테스트할 수 있습니다. 자주 사용하는 선택 매개변수:
  • max_tokens: 단일 응답의 최대 token 수를 제한합니다.
  • temperature: 생성 무작위성으로, 0-2 사이이며 값이 클수록 더 발산적입니다.
  • n: 한 번에 생성할 후보 응답 수입니다.
  • response_format: 반환 형식 설정입니다.

호출 후 반환 결과는 다음과 같습니다:
반환 결과에는 여러 필드가 있으며, 다음과 같이 소개합니다:
  • id: 이번 대화 작업을 생성하는 ID로, 이번 대화 작업을 고유하게 식별하는 데 사용됩니다.
  • model : 선택한 OpenAI ChatGPT 공식 웹사이트 모델입니다.
  • choices: ChatGPT가 질문 문구에 대해 제공한 응답 정보입니다.
  • usage : 이번 질의응답의 token 통계 정보입니다.
그중 choices에는 ChatGPT의 응답 정보가 포함되어 있으며, 그 안의 choices는 ChatGPT이고, 그림과 같이 확인할 수 있습니다.

choices 안의 content 필드에는 ChatGPT 응답의 구체적인 내용이 포함되어 있음을 확인할 수 있습니다.

스트리밍 응답

이 인터페이스는 스트리밍 응답도 지원하며, 이는 웹페이지 연동에 매우 유용하여 웹페이지에서 글자별 표시 효과를 구현할 수 있습니다. 응답을 스트리밍으로 반환하려면 요청 헤더의 stream 매개변수를 true로 변경할 수 있습니다. 그림과 같이 수정하지만, 호출 코드도 스트리밍 응답을 지원하도록 համապատասխան 변경이 필요합니다.

stream을 true로 변경한 후 API는 해당 JSON 데이터를 줄 단위로 반환하며, 코드 수준에서 줄 단위 결과를 얻기 위해 이에 맞게 수정해야 합니다. Python 예제 호출 코드:
출력 효과는 다음과 같습니다:
응답에 많은 data가 있으며, data 내부의 choices가 최신 응답 내용으로, 위에서 소개한 내용과 일치하는 것을 볼 수 있습니다. choices는 새로 추가된 응답 내용이며, 결과에 따라 귀하의 시스템에 연동할 수 있습니다. 또한 스트리밍 응답의 종료는 data의 내용에 따라 판단하며, 내용이 [DONE]이면 스트리밍 응답이 모두 종료되었음을 의미합니다. 반환되는 data 결과에는 여러 필드가 있으며, 다음과 같이 소개합니다:
  • id, 이번 대화 작업을 생성한 ID로, 이번 대화 작업을 고유하게 식별하는 데 사용됩니다.
  • model , 선택한 OpenAI ChatGPT 공식 웹사이트 모델입니다.
  • choices, ChatGPT가 질문어에 대해 제공한 응답 정보입니다.
JavaScript도 지원되며, 예를 들어 Node.js의 스트리밍 호출 코드는 다음과 같습니다:
Java 예제 코드:
다른 언어는 별도로 직접 수정하여 작성할 수 있으며, 원리는 모두 동일합니다.

다중 턴 대화

다중 턴 대화 기능을 연동하려면 messages 필드에 여러 질문어를 업로드해야 하며, 여러 질문어의 구체적인 예시는 다음 그림과 같습니다:

Python 예제 호출 코드:
여러 질문 문구를 업로드하면 여러 차례의 대화를 쉽게 구현할 수 있으며, 다음과 같은 응답을 받을 수 있습니다:
확인할 수 있듯이, choices에 포함된 정보는 기본 사용 내용과 일치하며, 여기에는 ChatGPT가 여러 대화에 대해 응답한 구체적인 내용이 포함되어 있습니다. 이렇게 하면 여러 대화 내용을 바탕으로 해당 질문에 답변할 수 있습니다.

OpenAI-Python 연동

OpenAI Chat Completion API는 공식 OpenAI 인터페이스와 호환되며, 공식 SDK OpenAI-Python을 직접 사용하여 연동할 수 있습니다. 이 글에서는 사용 방법을 간략히 소개합니다.
  1. 먼저 로컬 Python 환경을 구축해야 하며, 이 과정은 구글에서 검색할 수 있습니다.
  2. 개발 환경을 다운로드하여 설치합니다. 예를 들어 VSCode 편집기를 설치합니다.
  3. OpenAI 환경 변수를 구성합니다.
  • 프로젝트 폴더에 .env라는 이름의 파일을 생성하고 저장합니다.
  • .env 파일 내용:
sk-xxx는 자신의 key로 교체합니다. OPENAI_BASE_URL은 OpenAI의 프록시 인터페이스에 접근하는 주소입니다.
  1. 프로젝트에 필요한 패키지를 설치합니다
Mac OS에서는 명령어가 다음과 같습니다:
  1. 예제 소스 코드 파일을 생성합니다
예를 들어 index.py라는 예제 코드를 생성했다고 가정하면, 구체적인 내용은 다음과 같습니다:

인터넷 연결 모델

gpt-3.5-browsing 및 gpt-4-browsing 모델은 다른 모델과 다릅니다. 질문 문구에 따라 인터넷 검색을 수행할 수 있으며, 인터넷 검색 결과를 적절히 조정하여 반환합니다. 이 글에서는 구체적인 예제를 통해 인터넷 연결 기능을 시연합니다. 다음으로 OpenAI Chat Completion API 화면에서 해당 내용을 입력할 수 있으며, 그림과 같습니다:

동시에 오른쪽에 해당 호출 코드가 생성되는 것을 확인할 수 있습니다. 코드를 복사하여 직접 실행하거나, 「Try」 버튼을 직접 클릭하여 테스트할 수도 있습니다.

호출 후 반환 결과는 다음과 같습니다:
확인할 수 있듯이, choices 안의 응답 정보는 인터넷 검색 후 얻어진 것이며 관련 링크도 제공됩니다. choices 안의 응답 정보는 최상의 경험을 얻기 위해 markdown 문법으로 렌더링해야 하며, 이는 또한 우리 모델의 강력한 인터넷 연결 기능의 장점을 보여줍니다.

비전 모델

gpt-4o는 OpenAI가 개발한 멀티모달 대규모 언어 모델로, GPT-4를 기반으로 시각 이해 능력이 추가되었습니다. 이 모델은 텍스트와 이미지 입력을 동시에 처리할 수 있으며, 크로스모달 이해와 생성을 구현합니다. gpt-4o 모델의 텍스트 처리는 위의 기본 사용 내용과 일치하며, 아래에서는 모델의 이미지 처리 능력을 사용하는 방법을 간략히 소개합니다. gpt-4o 모델의 이미지 처리 능력은 주로 기존 content 내용에 type 필드를 추가하여 사용합니다. 이 필드를 통해 업로드된 것이 텍스트인지 이미지인지 알 수 있으며, 이를 통해 gpt-4o 모델의 이미지 처리 능력을 사용할 수 있습니다. 아래에서는 주로 Curl과 Python 두 가지 방식으로 이 기능을 호출하는 방법을 설명합니다.
  • Curl 스크립트 방식
  • Python 스크립트 방식
그러면 아래와 같은 결과를 얻을 수 있으며, 결과 안의 필드 정보는 위 내용과 일치합니다. 구체적으로는 다음과 같습니다:
답변 내용이 이미지를 기반으로 답변한 것임을 확인할 수 있으므로, 위의 두 가지 방식을 통해 gpt-4-vision 모델의 텍스트 및 이미지 처리 능력을 쉽게 사용할 수 있습니다. gpt-4o 외에도 gpt-4o-mini라는 더 저렴한 모델이 있습니다. gpt-4o-mini는 OpenAI가 개발한 최신 세대 대규모 언어 모델로, 응답 속도가 빠를 뿐만 아니라 가격도 더 저렴하고 멀티모달도 지원합니다. vision 기능의 사용 방법은 위 gpt-4o 모델 사용 내용을 참고할 수 있습니다.

GPT-4o 이미지 생성 모델

참고 이미지를 기반으로 이미지 생성

아래는 한 이미지를 기반으로 사용자 정의 스타일의 이미지를 생성하는 예시입니다. 먼저 우리가 입력한 이미지를 살펴보겠습니다. 아래 그림과 같습니다: 참고 이미지가 실제 인물의 이미지인 것을 확인할 수 있으며, 이를 다른 스타일로 변경할 수 있습니다. 예를 들어 애니메이션 스타일 이미지로 만들 수 있습니다. 구체적인 요청 예시는 다음과 같습니다:
예시 결과:
그중 choices 안의 message.content가 생성된 전체 대화 결과이며, 이미지는 Markdown 형식으로 그 안에 포함되어 있습니다(이미지 링크는 임시 주소이므로 제때 다운로드하여 저장하세요). 생성된 이미지가 실제로 애니메이션 스타일인 것을 확인할 수 있으며, 구체적으로는 아래 그림과 같습니다:

순수 텍스트 이미지 생성

프롬프트를 통해 이미지를 생성하고, 대화형 결과로 우리에게 반환하도록 할 수 있습니다. 아래에서는 미래 도시의 일몰 이미지 만들기를 예시로 사용하며, 구체적인 예시는 다음과 같습니다:
예시 결과:
결과가 프롬프트와 일치하는 것을 확인할 수 있으며, 구체적으로는 아래와 같습니다:

여러 이미지로 하나의 이미지 생성

여러 장의 참고 이미지를 사용하여 하나의 이미지를 생성할 수도 있습니다. 예를 들어 잘생긴 남성과 커피 이미지를 사용하면, 이 두 이미지를 이용해 잘생긴 남성이 커피를 마시는 이미지를 생성할 수 있습니다. 아래는 구체적인 참고 이미지입니다:

아래에서는 남성이 커피를 들고 곧 마시려는 모습 생성을 예시로 사용하며, 구체적인 예시는 다음과 같습니다:
예시 결과:
보시다시피 생성된 결과는 실제로 두 장의 이미지를 결합하여 생성한 것이며, 아래는 구체적인 결과입니다:

오류 처리

API를 호출할 때 오류가 발생하면 API는 해당 오류 코드와 정보를 반환합니다. 예를 들면 다음과 같습니다:
  • 400 token_mismatched:잘못된 요청이며, 매개변수가 누락되었거나 유효하지 않기 때문일 수 있습니다.
  • 400 api_not_implemented:잘못된 요청이며, 매개변수가 누락되었거나 유효하지 않기 때문일 수 있습니다.
  • 401 invalid_token:인증되지 않음, 인증 토큰이 유효하지 않거나 누락되었습니다.
  • 429 too_many_requests:요청이 너무 많습니다. 속도 제한을 초과했습니다.
  • 500 api_error:내부 서버 오류, 서버에서 문제가 발생했습니다.

오류 응답 예시

결론

이 문서를 통해 공식 OpenAI ChatGPT의 대화 기능을 쉽게 구현하기 위해 OpenAI Chat Completion API를 사용하는 방법을 이미 알아보았습니다. 이 문서가 해당 API를 더 잘 연동하고 사용하는 데 도움이 되기를 바랍니다. 궁금한 사항이 있으시면 언제든지 기술 지원 팀에 문의해 주세요.