OpenAI ChatGPT는 매우 강력한 AI 대화 시스템으로, 입력한 프롬프트에 따라 몇 초 만에 유창하고 자연스러운 응답을 생성할 수 있습니다. ChatGPT는 뛰어난 언어 이해 및 생성 능력으로 업계에서 독보적인 존재로 자리 잡았으며, 현재 ChatGPT는 다양한 산업과 분야에서 널리 사용되고 있으며 그 영향력이 더욱 두드러지고 있습니다. 일상 대화, 창의적 글쓰기, 전문 상담, 코드 프로그래밍 등에서 ChatGPT는 놀라운 지능적 지원을 제공하여 인간의 작업 효율성과 창의성을 크게 향상시킵니다. 이 문서는 OpenAI Chat Completion API 작업의 사용 프로세스를 주로 소개하며, 이를 통해 공식 OpenAI ChatGPT의 대화 기능을 쉽게 사용할 수 있습니다.Documentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
신청 프로세스
OpenAI Chat Completion API를 사용하려면 먼저 OpenAI Chat Completion API 페이지에서 “Acquire” 버튼을 클릭하여 요청에 필요한 자격 증명을 얻습니다:
로그인 또는 등록이 되어 있지 않으면 자동으로 로그인 페이지로 이동하여 등록 및 로그인을 요청합니다. 로그인 및 등록 후에는 자동으로 현재 페이지로 돌아옵니다.
첫 번째 신청 시 무료 크레딧이 제공되며, 이 API를 무료로 사용할 수 있습니다.
기본 사용
이제 인터페이스에 해당 내용을 입력할 수 있습니다. 아래 그림과 같이:
authorization으로, 드롭다운 목록에서 선택하면 됩니다. 또 다른 매개변수는 model이며, model은 OpenAI ChatGPT 공식 모델 카테고리를 선택하는 것입니다. 여기에는 주로 20종의 모델이 있으며, 자세한 내용은 제공된 모델을 참조할 수 있습니다. 마지막 매개변수는 messages로, messages는 우리가 입력한 질문어 배열입니다. 이는 여러 질문어를 동시에 업로드할 수 있는 배열로, 각 질문어는 role과 content를 포함합니다. 여기서 role은 질문자의 역할을 나타내며, 우리는 user, assistant, system의 세 가지 신원을 제공합니다. 또 다른 content는 우리가 질문하는 구체적인 내용입니다.
또한 오른쪽에 해당 호출 코드 생성이 있으며, 코드를 복사하여 직접 실행할 수도 있고, “Try” 버튼을 클릭하여 테스트할 수도 있습니다.
자주 사용하는 선택적 매개변수:
max_tokens: 단일 응답의 최대 토큰 수를 제한합니다.temperature: 생성의 무작위성, 0-2 사이, 값이 클수록 더 분산됩니다.n: 한 번에 생성할 후보 응답 수입니다.response_format: 반환 형식 설정입니다.

id: 이번 대화 작업을 생성한 ID로, 이번 대화 작업을 고유하게 식별하는 데 사용됩니다.model: 선택한 OpenAI ChatGPT 공식 모델입니다.choices: ChatGPT가 질문어에 대해 제공한 응답 정보입니다.usage: 이번 질문-응답 쌍에 대한 토큰 통계 정보입니다.
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가 질문에 대해 제공한 답변 정보입니다.
다중 대화
다중 대화 기능을 연결하고 싶다면messages 필드에 여러 질문을 업로드해야 하며, 여러 질문의 구체적인 예시는 아래 그림과 같습니다:

choices에 포함된 정보는 기본 사용 내용과 일치하며, 이는 ChatGPT가 여러 대화에 대해 응답한 구체적인 내용을 포함하고 있어 여러 대화 내용을 바탕으로 해당 질문에 답변할 수 있습니다.
OpenAI-Python 연동
OpenAI Chat Completion API 서비스의 상류는 공식 OpenAI 서비스이며, 구체적인 내용은 공식 OpenAI-Python을 참조하십시오. 본문에서는 공식에서 제공하는 서비스를 사용하는 방법을 간략히 소개합니다.- 먼저 로컬
Python환경을 구축해야 하며, 이 과정은 구글에서 검색해 보세요. - 개발 환경을 설치하고, 예를 들어 VSCode 편집기를 설치합니다.
OpenAI환경 변수를 설정합니다.
- 프로젝트 폴더에
.env라는 이름의 파일을 생성하고 저장합니다. .env파일 내용:
sk-xxx를 자신의 키로 교체합니다. OPENAI_BASE_URL은 OpenAI의 프록시 인터페이스에 접근하는 것입니다.
- 프로젝트 의존성 패키지를 설치합니다.
- 예제 소스 코드 파일을 생성합니다.
index.py라는 예제 코드를 생성했다고 가정할 때, 구체적인 내용은 다음과 같습니다:
네트워크 모델
gpt-3.5-browsing 및 gpt-4-browsing 모델은 다른 모델과 다르며, 질문어에 따라 네트워크 검색을 수행하고, 네트워크 검색 결과를 적절히 조정하여 반환합니다. 본문에서는 네트워크 기능을 시연하기 위해 구체적인 예제를 통해 설명합니다. 이후 OpenAI Chat Completion API 인터페이스에 해당 내용을 입력할 수 있습니다.

choices 안의 답변 정보는 네트워크 검색 후 얻은 것이며, 관련 링크도 제공됩니다. choices 안의 답변 정보는 markdown 문법을 통해 렌더링되어야 최상의 경험을 얻을 수 있으며, 이는 모델의 네트워크 기능의 강력한 장점을 보여줍니다.
시각 모델
gpt-4o는 OpenAI가 개발한 다중 모달 대형 언어 모델로, GPT-4를 기반으로 시각 이해 능력을 추가했습니다. 이 모델은 텍스트와 이미지 입력을 동시에 처리하여 교차 모달 이해 및 생성을 실현합니다. gpt-4o 모델의 텍스트 처리는 위의 기본 사용 내용과 일치하며, 모델의 이미지 처리 능력을 사용하는 방법을 간략히 소개합니다. gpt-4o 모델의 이미지 처리 능력은 기존의content 내용에 type 필드를 추가하여 사용됩니다. 이 필드를 통해 업로드된 것이 텍스트인지 이미지인지 알 수 있으며, gpt-4o 모델의 이미지 처리 능력을 사용할 수 있습니다. 아래에서는 Curl과 Python 두 가지 방법으로 이 기능을 호출하는 방법을 설명합니다.
- Curl 스크립트 방식
- Python 스크립트 방식
GPT-4o 그림 모델
요청 샘플:오류 처리
API를 호출할 때 오류가 발생하면 API는 해당 오류 코드와 정보를 반환합니다. 예를 들어:400 token_mismatched:잘못된 요청, 누락되거나 잘못된 매개변수 때문일 수 있습니다.400 api_not_implemented:잘못된 요청, 누락되거나 잘못된 매개변수 때문일 수 있습니다.401 invalid_token:권한 없음, 잘못되었거나 누락된 인증 토큰입니다.429 too_many_requests:요청이 너무 많음, 비율 한도를 초과했습니다.500 api_error:내부 서버 오류, 서버에서 문제가 발생했습니다.

