OpenAI 채팅 형식 (Chat Completions)¶
공식 문서
📝 소개¶
대화 메시지 목록을 입력하면 모델이 응답을 반환합니다. 관련 가이드는 OpenAI 공식 문서 Chat Completions를 참고하세요.
🤖 지원 모델¶
현재 지원되는 모델:
| 모델 | 설명 |
|---|---|
| gpt-3.5-turbo | GPT-3.5 Turbo 채팅 모델 |
| gpt-3.5-turbo-16k | GPT-3.5 Turbo 채팅 모델 (16K 컨텍스트) |
| gpt-3.5-turbo-instruct | GPT-3.5 Turbo 지시형 모델 |
| gpt-4 | GPT-4 채팅 모델 |
| gpt-4-32k | GPT-4 채팅 모델 (32K 컨텍스트) |
| gpt-4-turbo-preview | GPT-4 Turbo 채팅 모델 (프리뷰) |
| gpt-4-turbo | GPT-4 Turbo 채팅 모델 |
| gpt-4-vision-preview | GPT-4 Vision 채팅 모델 (프리뷰) |
| gpt-4o | GPT-4o 채팅 모델 |
| gpt-4o-mini | GPT-4o Mini 채팅 모델 |
| gpt-4.5-preview | GPT-4.5 채팅 모델 (프리뷰) |
| gpt-4.1 | GPT-4.1 채팅 모델 |
| gpt-4.1-mini | GPT-4.1 Mini 채팅 모델 |
| gpt-4.1-nano | GPT-4.1 Nano 채팅 모델 |
| gpt-5 | GPT-5 채팅 모델 |
| gpt-5-chat-latest | GPT-5 채팅 모델 (최신 버전) |
| gpt-5-mini | GPT-5 Mini 채팅 모델 |
| gpt-5-nano | GPT-5 Nano 채팅 모델 |
💡 요청 예시¶
기본 텍스트 대화 ✅¶
curl https://ssanai-workspace.atto-lab.cc/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "developer",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
응답 예시:
{
"id": "chatcmpl-B9MBs8CjcvOU2jLn4n570S5qMJKcT",
"object": "chat.completion",
"created": 1741569952,
"model": "gpt-4.1-2025-04-14",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you?",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 19,
"completion_tokens": 10,
"total_tokens": 29,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default"
}
이미지 분석 대화 ✅¶
curl https://ssanai-workspace.atto-lab.cc/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What's in this image?"
},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]
}
],
"max_tokens": 300
}'
응답 예시:
{
"id": "chatcmpl-B9MHDbslfkBeAs8l4bebGdFOJ6PeG",
"object": "chat.completion",
"created": 1741570283,
"model": "gpt-4.1-2025-04-14",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The image shows a wooden boardwalk path through dense green grass or meadow. The sky is bright blue with scattered clouds, creating a peaceful and serene atmosphere for the entire scene. Trees and shrubs can be seen in the background.",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1117,
"completion_tokens": 46,
"total_tokens": 1163,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default",
"system_fingerprint": "fp_fc9f1d7035"
}
스트리밍 응답 ✅¶
curl https://ssanai-workspace.atto-lab.cc/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "developer",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'
스트리밍 응답 예시:
{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}]}
// ... more data chunks ...
{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}
함수 호출 ✅¶
curl https://ssanai-workspace.atto-lab.cc/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "user",
"content": "What's the weather like in Boston today?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather for a specified location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City and state, e.g., San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"]
}
}
}
],
"tool_choice": "auto"
}'
응답 예시:
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1699896916,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_current_weather",
"arguments": "{\n\"location\": \"Boston, MA\"\n}"
}
}
]
},
"logprobs": null,
"finish_reason": "tool_calls"
}
],
"usage": {
"prompt_tokens": 82,
"completion_tokens": 17,
"total_tokens": 99,
"completion_tokens_details": {
"reasoning_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
}
}
Logprobs 요청 ✅¶
curl https://ssanai-workspace.atto-lab.cc/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"logprobs": true,
"top_logprobs": 2
}'
응답 예시:
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1702685778,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you?"
},
"logprobs": {
"content": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111],
"top_logprobs": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111]
},
{
"token": "Hi",
"logprob": -1.3190403,
"bytes": [72, 105]
}
]
},
{
"token": "!",
"logprob": -0.02380986,
"bytes": [
33
],
"top_logprobs": [
{
"token": "!",
"logprob": -0.02380986,
"bytes": [33]
},
{
"token": " there",
"logprob": -3.787621,
"bytes": [32, 116, 104, 101, 114, 101]
}
]
},
{
"token": " How",
"logprob": -0.000054669687,
"bytes": [32, 72, 111, 119],
"top_logprobs": [
{
"token": " How",
"logprob": -0.000054669687,
"bytes": [32, 72, 111, 119]
},
{
"token": "<|end|>",
"logprob": -10.953937,
"bytes": null
}
]
},
{
"token": " can",
"logprob": -0.015801601,
"bytes": [32, 99, 97, 110],
"top_logprobs": [
{
"token": " can",
"logprob": -0.015801601,
"bytes": [32, 99, 97, 110]
},
{
"token": " may",
"logprob": -4.161023,
"bytes": [32, 109, 97, 121]
}
]
},
{
"token": " I",
"logprob": -3.7697225e-6,
"bytes": [
32,
73
],
"top_logprobs": [
{
"token": " I",
"logprob": -3.7697225e-6,
"bytes": [32, 73]
},
{
"token": " assist",
"logprob": -13.596657,
"bytes": [32, 97, 115, 115, 105, 115, 116]
}
]
},
{
"token": " assist",
"logprob": -0.04571125,
"bytes": [32, 97, 115, 115, 105, 115, 116],
"top_logprobs": [
{
"token": " assist",
"logprob": -0.04571125,
"bytes": [32, 97, 115, 115, 105, 115, 116]
},
{
"token": " help",
"logprob": -3.1089056,
"bytes": [32, 104, 101, 108, 112]
}
]
},
{
"token": " you",
"logprob": -5.4385737e-6,
"bytes": [32, 121, 111, 117],
"top_logprobs": [
{
"token": " you",
"logprob": -5.4385737e-6,
"bytes": [32, 121, 111, 117]
},
{
"token": " today",
"logprob": -12.807695,
"bytes": [32, 116, 111, 100, 97, 121]
}
]
},
{
"token": " today",
"logprob": -0.0040071653,
"bytes": [32, 116, 111, 100, 97, 121],
"top_logprobs": [
{
"token": " today",
"logprob": -0.0040071653,
"bytes": [32, 116, 111, 100, 97, 121]
},
{
"token": "?",
"logprob": -5.5247097,
"bytes": [63]
}
]
},
{
"token": "?",
"logprob": -0.0008108172,
"bytes": [63],
"top_logprobs": [
{
"token": "?",
"logprob": -0.0008108172,
"bytes": [63]
},
{
"token": "?\n",
"logprob": -7.184561,
"bytes": [63, 10]
}
]
}
]
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 9,
"total_tokens": 18,
"completion_tokens_details": {
"reasoning_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"system_fingerprint": null
}
📮 요청¶
엔드포인트¶
지정한 채팅 대화에 대한 모델 응답을 생성합니다. 자세한 내용은 텍스트 생성, 비전, 오디오 가이드를 참고하세요.
인증 방법¶
요청 헤더에 다음 값을 포함하여 API 키 인증을 수행하세요:
$API_KEY는 발급받은 API 키입니다. OpenAI 플랫폼의 API 키 페이지에서 확인하거나 생성할 수 있습니다.
요청 본문 파라미터¶
messages¶
- 유형: Array
- 필수: Yes
현재까지의 대화 메시지 목록입니다. 사용한 모델에 따라 텍스트, 이미지, 오디오 등 서로 다른 메시지 유형(형식)을 지원합니다.
| 메시지 유형 | 설명 |
|---|---|
| 개발자 메시지 | 개발자가 제공하는 지침입니다. 사용자가 어떤 메시지를 보내더라도 모델은 이 지침을 따라야 합니다. o1 및 이후 모델에서는 개발자 메시지가 원래 시스템을 대체합니다. |
| System message | 개발자 지침입니다. 사용자가 어떤 메시지를 보내더라도 모델은 이를 따라야 합니다. o1 및 이후 모델에서는 developer 메시지 사용을 권장합니다. |
| User message | 최종 사용자가 보내는 메시지로, 프롬프트나 추가 컨텍스트를 포함합니다. |
| Assistant message | 사용자 메시지에 대해 모델이 생성하는 응답 메시지입니다. |
| Tool message | 도구 메시지의 내용입니다. |
| Function message | 사용 중단되었습니다. |
Developer message 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
role |
문자열 | 예 | 메시지 작성자의 역할이며 여기서는 developer입니다. |
content |
문자열 또는 배열 | 예 | 개발자의 내용입니다. 문자열을 사용하거나 콘텐츠 파트 배열을 사용할 수 있습니다. |
name |
문자열 | 아니오 | 참여자의 선택적 이름입니다. 동일한 역할의 참여자를 구분하는 데 도움이 됩니다. |
System message 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
role |
문자열 | 예 | 메시지 작성자의 역할이며 여기서는 system입니다. |
content |
문자열 또는 배열 | 예 | 시스템 메시지의 내용입니다. 문자열을 사용하거나 콘텐츠 파트 배열을 사용할 수 있습니다. |
name |
문자열 | 아니오 | 참여자의 선택적 이름입니다. 동일한 역할의 참여자를 구분하는 데 도움이 됩니다. |
User message 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
role |
문자열 | 예 | 메시지 작성자의 역할이며 여기서는 user입니다. |
content |
문자열 또는 배열 | 예 | 사용자 메시지의 내용입니다. 문자열을 사용하거나 콘텐츠 파트 배열을 사용할 수 있습니다. |
name |
문자열 | 아니오 | 참여자의 선택적 이름입니다. 동일한 역할의 참여자를 구분하는 데 도움이 됩니다. |
콘텐츠 파트 유형:
| 콘텐츠 파트 유형 | 설명 | 사용 가능 대상 |
|---|---|---|
| Text Content Part | 텍스트 입력입니다. | 모든 메시지 유형 |
| Image Content Part | 이미지 입력입니다. | 사용자 메시지 |
| Audio Content Part | 오디오 입력입니다. | 사용자 메시지 |
| File Content Part | 파일 입력이며 텍스트 생성에 사용됩니다. | 사용자 메시지 |
| Refusal Content Part | 모델이 생성한 거부 메시지입니다. | 어시스턴트 메시지 |
텍스트 콘텐츠 파트 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
text |
문자열 | 예 | 텍스트 콘텐츠입니다. |
type |
문자열 | 예 | 콘텐츠 파트의 유형입니다. |
이미지 콘텐츠 파트 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
image_url |
객체 | 예 | 이미지 URL 또는 base64 이미지 데이터를 포함합니다. |
type |
문자열 | 예 | 콘텐츠 파트의 유형입니다. |
Image URL 객체 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
url |
문자열 | 예 | 이미지 URL 또는 base64 인코딩 이미지 데이터입니다. |
detail |
문자열 | 아니오 | 이미지 상세 수준을 지정합니다. 기본값은 auto입니다. |
오디오 콘텐츠 파트 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
input_audio |
객체 | 예 | 오디오 데이터를 포함한 객체입니다. |
type |
문자열 | 예 | 콘텐츠 파트의 형태입니다. 항상 "input_audio"입니다. |
Audio Input 객체 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
data |
문자열 | 예 | base64 인코딩 오디오 데이터입니다. |
format |
문자열 | 예 | 인코딩된 오디오 데이터 형식입니다. 현재 wav, mp3를 지원합니다. |
파일 콘텐츠 파트 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
file |
객체 | 예 | 파일 데이터를 포함한 객체입니다. |
type |
문자열 | 예 | 콘텐츠 파트의 유형입니다. Always "file". |
File Object Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
file_data |
문자열 | 아니오 | 파일을 문자열로 전달할 때 사용하는 base64 인코딩 파일 데이터입니다. |
file_id |
문자열 | 아니오 | 입력으로 사용할 업로드 파일 ID입니다. |
filename |
문자열 | 아니오 | 파일을 문자열로 전달할 때 사용하는 파일명입니다. |
Assistant message 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
role |
문자열 | 예 | 메시지 작성자의 역할이며 여기서는 assistant입니다. |
content |
문자열 또는 배열 | 아니요 | assistant 메시지의 내용입니다. tool_calls 또는 function_call이 지정되지 않은 경우 필수입니다. |
name |
문자열 | 아니오 | 참여자의 선택적 이름입니다. 동일한 역할의 참여자를 구분하는 데 도움이 됩니다. |
audio |
객체 또는 null | 아니오 | 모델의 이전 오디오 응답 관련 데이터입니다. |
function_call |
객체 또는 null | 아니요 | 사용 중단되었습니다. tool_calls로 대체되며, 모델이 생성한 호출 함수 이름과 파라미터를 포함합니다. |
tool_calls |
배열 | 아니오 | 모델이 생성한 도구 호출(예: 함수 호출) 목록입니다. |
refusal |
문자열 또는 null | 아니요 | 어시스턴트의 존재입니다. |
Tool message 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
role |
문자열 | 예 | 메시지 작성자의 역할이며 여기서는 tool입니다. |
content |
문자열 또는 배열 | 예 | 도구의 내용입니다. |
tool_call_id |
문자열 | 예 | 이 메시지가 응답하는 도구 호출 ID입니다. |
Function message 속성 (사용 중단):
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
role |
문자열 | 예 | 메시지 작성자의 역할이며 여기서는 function입니다. |
content |
문자열 또는 null | 예 | 함수 메시지의 내용입니다. |
name |
문자열 | 예 | 호출할 함수 이름입니다. |
model¶
- 유형: String
- 필수: Yes
사용할 모델 ID입니다. Chat API 호환 모델은 모델 엔드포인트 호환성 표를 참고하세요.
store¶
- 유형: Boolean 또는 null
- 필수: No
- 기본값: false
이 채팅 완료 요청의 출력을 모델 증류 또는 평가 제품에 활용하기 위해 저장할지 여부입니다.
reasoning_effort¶
- 유형: 문자열 또는 null
- 필수: No
- 기본값: medium
- o 시리즈 모델에만 적용
추론 모델의 추론 강도를 제한합니다. 지원 값은 low, medium, high입니다. 추론 강도를 낮추면 응답 속도가 빨라지고 추론 토큰 사용량을 줄일 수 있습니다.
metadata¶
- 유형: map
- 필수: No
객체에 첨부할 수 있는 최대 16개의 키-값 쌍입니다. 구조화된 형태로 부가 정보를 저장하고 API 또는 대시보드에서 조회할 때 유용합니다.
키는 최대 64자 문자열이며, 값은 최대 512자 문자열입니다.
modalities¶
- 유형: Array 또는 null
- 필수: No
이 요청에서 모델이 생성할 출력 유형입니다. 대부분의 모델은 기본값으로 텍스트를 생성합니다: ["text"]
모델은 오디오 생성도 지원합니다. 텍스트와 오디오를 동시에 생성하려면 다음과 같이 지정하세요: ["text", "audio"]
prediction¶
- 유형: Object
- 필수: No
예측 출력 설정입니다. 모델 응답의 대부분을 미리 알고 있을 때 응답 시간을 크게 단축할 수 있으며, 파일의 일부만 수정하는 경우에 특히 유용합니다.
가능한 유형:
| Type | Description |
|---|---|
| Static Content | 정적 예측 출력 콘텐츠입니다. 예: 소폭 수정된 파일 텍스트를 재생성하는 경우. |
Static Content Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
content |
문자열 또는 배열 | 예 | 사진 응답 생성 시 연결해야 할 콘텐츠입니다. 생성하는 것이 이 콘텐츠와 일치하면 전체 응답을 더 빨리 반환할 수 있습니다. |
type |
문자열 | 예 | 제공할 예측 콘텐츠의 유형입니다. 현재는 항상 content입니다. |
Possible Content Types:
-
텍스트 콘텐츠(문자열) - 예측 출력에 사용할 콘텐츠입니다. 보통 일부만 수정해 재생성하는 파일 텍스트입니다.
-
콘텐츠 파트 배열(배열) - 유형이 정의된 콘텐츠 파트 배열입니다. 지원 옵션은 응답 생성 모델에 따라 다르며 텍스트 입력을 포함할 수 있습니다.
콘텐츠 파트 배열 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
text |
문자열 | 예 | 텍스트 콘텐츠입니다. |
type |
문자열 | 예 | 콘텐츠 파트의 유형입니다. |
audio¶
- 유형: 객체 또는 null
- 필수: No
오디오 출력 파라미터입니다. modalities: ["audio"]로 오디오 출력을 요청할 때 필요합니다.
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
format |
문자열 | 예 | 오디오 출력 형식입니다. wav, mp3, flac, opus, pcm16 중 하나여야 합니다. |
voice |
문자열 | 예 | 모델이 응답합니다. 뒷면: 합금, 재, 발라드, 산호, 에코, 우화, 노바, 오닉스, 세이지, 쉬머. |
temperature¶
- 유형: Number 또는 null
- 필수: No
- 기본값: 1
샘플링 온도 값입니다(0~2). 값이 높을수록(예: 0.8) 출력이 더 무작위로, 낮을수록(예: 0.2) 더 집중되고 결정적으로 생성됩니다. 일반적으로 이 값과 top_p 중 하나만 조정하는 것을 권장합니다.
top_p¶
- 유형: Number 또는 null
- 필수: No
- 기본값: 1
샘플링 온도의 대안인 nucleus sampling 방식입니다. 모델은 누적 확률이 top_p인 토큰 집합만 고려합니다. 예를 들어 0.1이면 상위 10% 확률 질량의 토큰만 고려합니다.
일반적으로 이 값과 temperature 중 하나만 조정하는 것을 권장합니다.
n¶
- 유형: Integer 또는 null
- 필수: No
- 기본값: 1
각 입력 메시지에 대해 생성할 채팅 완료 수입니다. 모든 선택지에서 생성된 토큰 총량 기준으로 과금됩니다. 비용을 최소화하려면 n을 1로 유지하세요.
stop¶
- 유형: String/Array/null
- 필수: No
- 기본값: null
- 최신 추론 모델 및 .o3, o4-mini에서는 지원되지 않음
API가 최대 4개의 정지 시퀀스에서 토큰 생성을 중단합니다. 반환 텍스트에는 정지 시퀀스가 포함되지 않습니다.
max_tokens¶
- 유형: Integer 또는 null
- 필수: No
채팅 완료에서 생성할 수 있는 최대 토큰 수입니다. API 사용 시 생성 비용을 제어하는 데 사용됩니다.
이 값은 현재 사용 중단되었으며 max_completion_tokens로 대체되었습니다. 또한 .o1 계열 모델과 호환되지 않습니다.
max_completion_tokens¶
- 유형: Integer 또는 null
- 필수: No
완료 응답에서 생성 가능한 토큰 상한입니다. 가시 출력 토큰과 추론 토큰을 모두 포함합니다.
presence_penalty¶
- 유형: Number 또는 null
- 필수: No
- 기본값: 0
-2.0에서 2.0 사이의 값입니다. 양수일수록 이미 등장한 토큰을 페널티하여 새로운 주제를 다룰 가능성을 높입니다.
frequency_penalty¶
- 유형: Number 또는 null
- 필수: No
- 기본값: 0
-2.0에서 2.0 사이의 값입니다. 양수일수록 자주 등장한 토큰에 페널티를 주어 동일 문구 반복 가능성을 낮춥니다.
logit_bias¶
- 유형: map
- 필수: No
- 기본값: null
완료 응답에서 특정 토큰이 등장할 가능성을 조정합니다.
토크나이저의 토큰 ID를 키로 하고 -100~100 범위의 바이어스 값을 매핑한 JSON 객체를 받습니다. 수학적으로는 샘플링 전에 모델의 로짓(logits)에 바이어스를 더합니다. 정확한 효과는 모델마다 다를 수 있으며, 일반적으로 -1~1은 선택 확률을 완만히 조정하고, -100 또는 100은 해당 토큰을 사실상 금지/강제 선택하게 만듭니다.
logprobs¶
- 유형: Boolean 또는 null
- 필수: No
- 기본값: false
출력 토큰의 로그 확률을 반환할지 여부입니다. true이면 message.content의 각 출력 토큰 로그 확률을 반환합니다.
user¶
- 유형: String
- 필수: No
최종 사용자를 식별하는 고유 식별자입니다. OpenAI의 오남용 모니터링 및 탐지에 도움이 됩니다. Learn more.
service_tier¶
- 유형: 문자열 또는 null
- 필수: No
- 기본값: auto
요청 처리에 사용할 지연 시간 계층을 지정합니다. 이 파라미터는 scale tier 구독 고객에게 관련됩니다:
auto로 설정되고 프로젝트에 Scale tier가 활성화된 경우, scale tier 크레딧을 소진할 때까지 사용합니다auto로 설정되었지만 프로젝트에 Scale tier가 활성화되지 않은 경우, 기본 서비스 계층으로 처리되며 SLA가 낮고 지연 보장은 없습니다.default로 설정하면 기본 서비스 계층으로 처리되며 SLA가 낮고 지연 보장은 없습니다flex로 설정하면 Flex Processing 서비스 계층으로 처리됩니다. 자세한 내용은 문서를 참고하세요- 미설정 시 기본 동작은
auto입니다 - 이 파라미터를 설정하면 응답 본문에 사용된
service_tier가 포함됩니다
stream_options¶
- 유형: 객체 또는 null
- 필수: No
- 기본값: null
스트리밍 응답 옵션입니다. stream: true일 때만 사용됩니다.
가능한 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
include_usage |
불리언 | 아니오 | 설정 시 data: [DONE] 전에 추가 블록이 스트리밍됩니다. 이 블록의 usage에는 전체 요청의 토큰 사용량이 포함되며 choices는 항상 빈 배열입니다. 다른 블록에도 usage 필드가 포함되지만 값은 null입니다. 스트림이 중단되면 최종 사용량 블록을 받지 못할 수 있습니다. |
response_format¶
- 유형: Object
- 필수: No
모델이 반드시 따라야 하는 출력 형식을 지정합니다.
{ "type": "json_schema", "json_schema": {...} }를 설정하면 구조화 출력이 활성화되며 모델이 제공된 JSON 스키마를 따르도록 합니다.{ "type": "json_object" }를 설정하면 JSON 모드가 활성화되어 생성 메시지가 유효한 JSON이 되도록 합니다.
중요: JSON 모드를 사용할 때는 시스템/사용자 메시지에서 모델에게 JSON 생성을 명시적으로 지시해야 합니다. 그렇지 않으면 토큰 한도까지 공백을 계속 생성할 수 있습니다.
가능한 유형:
| Type | Description |
|---|---|
| text | 기본 응답 형식입니다. 텍스트 응답 생성에 사용됩니다. |
| json_스키마 | JSON 스키마 응답 형식입니다. 구조화된 JSON 응답 생성에 사용됩니다. |
| json_object | JSON 객체 응답 형식입니다. 비교적 오래된 방식이며, 지원 모델에서는 json_schema 사용을 권장합니다. |
text Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
type |
문자열 | 예 | 정의 중인 응답 형식의 유형이며 항상 text입니다. |
json_schema Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
json_schema |
객체 | 예 | JSON Schema를 포함한 구조화 출력 설정 옵션입니다. |
type |
문자열 | 예 | 정의 중인 응답 형식의 유형이며 항상 json_schema입니다. |
json_schema.json_schema 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
name |
문자열 | 예 | 응답 형식의 이름입니다. a-z, A-Z, 0-9이거나 밑줄과 하이픈을 포함해야 하며 최대 길이는 64자입니다. |
description |
문자열 | 아니오 | 모델이 해당 형식으로 응답하는 방법을 결정하는 데 사용되는 응답 형식의 목적에 대한 설명입니다. |
schema |
거기 | 아니오 | JSON 스키마 객체로 설명되는 응답 형식의 스키마입니다. |
strict |
불리언 또는 null | 아니요 | 출력 생성 시 strict 스키마 준수 사용 여부입니다. true로 설정하면 모델은 schema 필드에 정의된 형식을 따릅니다. strict=true에서는 JSON Schema의 일부만 지원됩니다. |
json_object Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
type |
문자열 | 예 | 정의되는 응답 형식의 유형입니다. 항상 "json_object"입니다. |
seed¶
- 유형: Integer 또는 null
- 필수: No 베타 기능. 지정된 경우 시스템은 결정론적 샘플링을 수행하기 위해 최선을 다하므로 동일한 시드 및 매개변수를 사용하여 반복되는 요청은 동일한 결과를 반환해야 합니다. 결정성을 보장하지 않으므로 백엔드 변경 사항을 모니터링하려면 응답 매개변수의 system_fingerprint를 참조해야 합니다.
tools¶
- 유형: Array
- 필수: No
모델이 호출할 수 있는 도구 목록입니다. 현재는 기능만 도구로 지원됩니다. 모델이 JSON 입력을 생성할 수 있는 함수 목록을 제공하려면 이 매개변수를 사용하십시오. 최대 128개의 기능이 지원됩니다.
Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
function |
거기 | 예 | 호출할 함수에 대한 정보 |
type |
문자열 | 예 | 도구의 유형입니다. 현재는 기능만 지원됩니다. |
function 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
name |
문자열 | 예 | 호출할 호출 이름입니다. a-z, A-Z, 0-9이거나 밑줄과 하이픈을 포함해야 하며 최대 길이는 64자입니다. |
description |
문자열 | 아니오 | 함수 호출 시기와 방법을 결정하기 위해 모델에서 사용되는 함수 기능에 대한 설명입니다. |
parameters |
거기 | 아니오 | JSON 스키마 객체로 설명되는 함수에서 허용하는 매개변수입니다. 예제는 가이드를 참조하고 형식 문서는 JSON 스키마 참조를 참조하세요. 매개변수 정의를 생략하면 함수에 대한 빈 매개변수 목록이 생성됩니다. |
strict |
불리언 또는 null | 아니요 | 기본값: false. 함수 호출 생성 시 strict 스키마 준수 사용 여부입니다. true로 설정하면 모델은 parameters에 정의된 스키마를 따릅니다. strict=true에서는 JSON Schema의 일부만 지원됩니다. |
functions¶
- 유형: Array
- 필수: No
- 참고: 더 이상 사용되지 않으며
tools사용을 권장합니다.
모델이 JSON 입력을 생성할 수 있는 함수 목록입니다.
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
name |
문자열 | 예 | 호출할 호출 이름입니다. a-z, A-Z, 0-9이거나 밑줄과 하이픈을 포함해야 하며 최대 길이는 64자입니다. |
description |
문자열 | 아니오 | 함수 호출 시기와 방법을 결정하기 위해 모델에서 사용되는 함수 기능에 대한 설명입니다. |
parameters |
거기 | 아니오 | JSON 스키마 객체로 설명되는 함수에서 허용하는 매개변수입니다. 매개변수 정의를 생략하면 함수에 대한 빈 매개변수 목록이 생성됩니다. |
tool_choice¶
- 유형: String or Object
- 필수: No
모델이 호출해야 하는 도구(있는 경우)를 제어합니다.
- none: 모델은 어떤 도구도 호출하지 않지만 메시지를 생성합니다.
- auto: 모델은 메시지 생성 또는 하나 이상의 도구 호출 중에서 선택할 수 있습니다.
- required: 모델은 하나 이상의 도구를 호출해야 합니다.
- {"type": "function", "function": {"name": "my_function"}}: 모델이 특정 도구를 호출하도록 강제합니다.
도구가 없으면 기본값은 none이고, 도구가 있으면 auto입니다.
가능한 유형:
| Type | Description |
|---|---|
| 문자열 | none은 모델이 도구를 호출하지 않고 메시지를 생성한다는 의미입니다. 자동은 모델이 메시지 생성 또는 하나 이상의 도구 호출 중에서 선택할 수 있음을 의미합니다. 필수는 모델이 하나 이상의 도구를 호출해야 함을 의미합니다. |
| 개체 | 모델이 사용해야 하는 도구를 지정합니다. 모델이 특정 기능을 호출하도록 강제하는 데 사용됩니다. |
객체 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
function |
거기 | 예 | 함수 정보가 포함된 개체 포함 |
type |
문자열 | 예 | 도구의 유형입니다. 현재는 기능만 지원됩니다. |
function 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
name |
문자열 | 예 | 호출할 함수 이름입니다. |
function_call¶
- 유형: String or Object
- 필수: No
- 추측: 기능이 없으면
none, 기능이 있으면auto - 참고: 더 이상 사용되지 않으며
tool_choice사용을 권장합니다.
모델이 호출해야 하는 함수(있는 경우)를 제어합니다.
none: 모델은 어떤 함수도 호출하지 않지만 메시지를 생성합니다.auto: 모델은 메시지 생성 또는 함수 호출 중에서 선택할 수 있습니다.{"name": "my_function"}: 모델이 특정 기능을 호출하도록 강제합니다.
Object Type Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
name |
문자열 | 예 | 호출할 함수 이름입니다. |
parallel_tool_calls¶
- 유형: Boolean
- 필수: No
- 기본값: true
도구 사용 중에 병렬 함수 호출을 활성화할지 여부입니다.
stream¶
- 유형: Boolean 또는 null
- 필수: No
- 기본값: false
true로 설정하면 모델 응답 데이터가 서버에서 보낸 이벤트를 통해 클라이언트로 스트리밍됩니다. 자세한 내용은 아래 스트리밍 응답 섹션을 참조하고, 스트리밍 이벤트 처리 방법은 스트리밍 응답 가이드를 참조하세요.
top_logprobs¶
- 유형: Integer 또는 null
- 필수: No
0에서 20 사이의 정수로, 각 토큰 위치에서 가장 가능성이 높은 토큰 수를 지정하며 각각 관련 로그 확률이 있습니다. 이 매개변수를 사용하는 경우 logprobs은 true여야 합니다.
web_search_options¶
- 유형: Object
- 필수: No
이 도구는 웹을 검색하여 답변에 대한 관련 결과를 얻습니다. 웹 검색 도구에 대해 자세히 알아보세요.
가능한 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
search_context_size |
문자열 | 아니오 | 검색을 위한 컨텍스트 창 크기에 대한 고급 지침입니다. 선택적 값은 낮음, 중간 또는 높음입니다. 매체가 기본값입니다. |
user_location |
객체 또는 null | 아니요 | 검색을 위한 대략적인 위치 매개변수입니다. |
user_location Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
approximate |
거기 | 예 | 검색을 위한 대략적인 위치 매개변수입니다. |
approximate Properties:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
city |
문자열 | 아니오 | 사용자 도시(예: 샌프란시스코)에 대한 자유 텍스트 입력입니다. |
country |
문자열 | 아니오 | 사용자의 2자리 ISO 국가 코드입니다(예: US). |
region |
문자열 | 아니오 | 사용자 지역(예: 캘리포니아)에 대한 자유 텍스트 입력입니다. |
timezone |
문자열 | 아니오 | 사용자의 IANA 표시(예: America/Los_Angeles)입니다. |
type |
문자열 | 예 | 위치 근사의 유형입니다. 항상 "대략적"입니다. |
📥 응답¶
Chat Completion 객체¶
요청이 일반 모드면 채팅 완료를 받고, 스트리밍 모드면 채팅 완료 청크가 반환됩니다.
id¶
- 유형: String
- 설명: 응답의 고유 식별자
object¶
- 유형: String
- 설명: 객체 유형, 값 "chat.completion"
created¶
- 유형: Integer
- 설명: 응답 생성의 타임스탬프
model¶
- 유형: String
- 설명 : 사용된 모델명
system_fingerprint¶
- 유형: String
- 설명: 모델 실행의 백엔드 구성을 나타내는 시스템 지문 식별자입니다. 결정성에 영향을 미칠 수 있는 백엔드 변경이 발생한 시기를 이해하기 위해 시드 요청 매개변수와 함께 사용할 수 있습니다.
choices¶
- 유형: Array
- 설명 : 생성된 응답 옵션 목록입니다. n이 1보다 크면 여러 옵션이 나타날 수 있습니다.
- 속성:
index: 옵션 목록에 있는 옵션의 인덱스입니다.message: 모델이 생성한 채팅 완료 메시지입니다.role: 메시지 작성자의 역할입니다.content: 메시지 내용이며 null일 수 있습니다.refusal: 모델에 의해 생성된 거부 메시지이며 null일 수 있습니다.annotations: 해당되는 경우(예: 웹 검색 도구를 사용할 때) 제공되는 메시지에 대한 주석입니다.type: 주석 유형입니다. URL 인용의 경우 항상url_citation입니다.url_citation: 메시지의 URL 참조입니다.start_index: 메시지에 있는 URL 참조의 첫 번째 문자 인덱스입니다.end_index: 메시지에 있는 URL 참조의 마지막 문자 인덱스입니다.url: 네트워크 리소스의 URL입니다.title: 네트워크 리소스의 제목입니다.audio: 오디오 출력 양식이 요청된 경우 이 객체에는 모델의 오디오 응답 데이터가 포함됩니다.data: 요청에 지정된 형식의 모델의 Base64 인코딩 오디오 바이트입니다.id: 이 오디오 응답의 고유 식별자입니다.transcript: 모델의 오디오 녹음입니다.expires_at: 서버의 다중 대화에 대해 이 오디오 응답을 사용할 수 있는 Unix 타임스탬프(초)입니다.function_call: (사용 중단) 모델이 생성한 호출 함수 이름과 파라미터입니다.tool_calls로 대체되었습니다.name: 호출할 함수 이름입니다.
arguments: JSON 형식으로 모델에 의해 생성된 함수에 전달될 매개변수입니다.tool_calls: 모델이 생성한 도구 호출(예: 함수 호출) 목록입니다.
id: 도구 호출의 ID입니다.type: 도구 유형입니다. 현재는 기능만 지원됩니다.function: 모델이 호출하는 함수입니다. -name: 호출할 함수 이름입니다.arguments: JSON 형식으로 모델에 의해 생성된 함수에 전달될 매개변수입니다. 모델이 항상 유효한 JSON을 생성하는 것은 아니며 함수 스키마에 정의되지 않은 매개변수를 생성할 수도 있습니다. 함수를 호출하기 전에 코드의 매개변수를 확인하세요.logprobs: 확률 정보를 로그합니다.content: 로그 확률 정보가 포함된 메시지 콘텐츠 토큰 목록입니다.token: The token.
logprob: 이 토큰이 가장 가능성이 높은 상위 20개 토큰 중 하나인 경우 이 토큰의 로그 확률입니다. 그렇지 않은 경우에는 -9999.0 값을 사용하여 이 토큰이 발생할 가능성이 매우 낮음을 나타냅니다.bytes: 토큰의 UTF-8 바이트 표현을 나타내는 정수 목록입니다. 이는 문자가 여러 토큰으로 표현되고 해당 바이트 표현을 결합하여 올바른 텍스트 표현을 생성해야 하는 경우에 유용합니다. 토큰에 바이트 표현이 없으면 null일 수 있습니다.top_logprobs: 각 토큰 위치에서 가장 가능성이 높은 토큰과 로그 확률 목록입니다. 드물게 반환 개수가 요청값보다 적을 수 있습니다.refusal: 로그 확률 정보가 포함된 메시지 거부 토큰 목록입니다.finish_reason: 모델이 토큰 생성을 중단한 이유입니다. 자연 종료/정지 시퀀스는stop, 최대 토큰 도달은length, 콘텐츠 필터 차단은content_filter, 도구 호출은tool_calls, 함수 호출(사용 중단)은function_call입니다.
usage¶
- 유형: Object
- 설명 : 완료요청에 대한 이용통계입니다.
- 속성:
prompt_tokens: 프롬프트의 토큰 수입니다.completion_tokens: 생성된 완료의 토큰 수입니다.total_tokens: 요청(프롬프트 + 완료)에 사용된 총 토큰 수입니다.prompt_tokens_details: 프롬프트에 사용된 토큰의 분석입니다.cached_tokens: 프롬프트의 캐시된 토큰입니다.audio_tokens: 프롬프트의 오디오 입력 토큰입니다.completion_tokens_details: 완료에 사용된 토큰의 내역입니다.reasoning_tokens: 모델에 의해 생성된 추론 토큰입니다.audio_tokens: 모델에 의해 생성된 오디오 토큰입니다.accepted_prediction_tokens: 예측 출력 사용 시 완성에 나타난 예측 출력의 토큰 수입니다.rejected_prediction_tokens: 예측 출력 사용 시 완료 시 나타나지 않은 예측 출력의 토큰 수입니다. 그러나 추론 토큰과 마찬가지로 이러한 토큰은 여전히 청구, 출력 및 컨텍스트 창 제한에 대한 총 완료 토큰으로 계산됩니다.
service_tier¶
- 유형: 문자열 또는 null
- 설명: 요청 처리에 사용할 지연 시간 계층을 지정합니다. 이 파라미터는 scale tier 구독 고객에게 관련됩니다:
auto로 설정되고 프로젝트에 Scale tier가 활성화된 경우, scale tier 크레딧을 소진할 때까지 사용합니다auto로 설정되었지만 프로젝트에 Scale tier가 활성화되지 않은 경우, 기본 서비스 계층으로 처리되며 SLA가 낮고 지연 보장은 없습니다.default로 설정하면 기본 서비스 계층으로 처리되며 SLA가 낮고 지연 보장은 없습니다flex로 설정하면 Flex Processing 서비스 계층으로 처리됩니다. 자세한 내용은 문서를 참고하세요- 미설정 시 기본 동작은
auto입니다 - 이 파라미터를 설정하면 응답 본문에 사용된
service_tier가 포함됩니다
채팅 완료 응답 예시¶
{
"id": "chatcmpl-B9MHDbslfkBeAs8l4bebGdFOJ6PeG",
"object": "chat.completion",
"created": 1741570283,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The image shows a wooden boardwalk path through dense green grass or meadow. The sky is bright blue with scattered clouds, creating a peaceful and serene atmosphere for the entire scene. Trees and shrubs can be seen in the background.",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1117,
"completion_tokens": 46,
"total_tokens": 1163,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default",
"system_fingerprint": "fp_fc9f1d7035"
}
Chat Completion 목록 객체¶
여러 채팅 완료가 반환되는 경우 API는 채팅 완료 목록을 반환할 수 있습니다.
object¶
- 유형: String
- 설명: 객체 유형, 항상 "목록"
data¶
- 유형: Array
- 설명 : 채팅 완료 객체의 배열
first_id¶
- 유형: String
- 설명 : 데이터 배열 중 첫 번째 채팅 완료 식별자
last_id¶
- 유형: String
- 설명 : 데이터 배열 중 마지막 채팅 완료 식별자
has_more¶
- 유형: Boolean
- 설명 : 추가 채팅 완료 가능 여부를 나타냅니다.
Chat Completion 목록 응답 예시¶
{
"object": "list",
"data": [
{
"object": "chat.completion",
"id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
"model": "gpt-4o",
"created": 1738960610,
"request_id": "req_ded8ab984ec4bf840f37566c1011c417",
"tool_choice": null,
"usage": {
"total_tokens": 31,
"completion_tokens": 18,
"prompt_tokens": 13
},
"seed": 4944116822809979520,
"top_p": 1.0,
"temperature": 1.0,
"presence_penalty": 0.0,
"frequency_penalty": 0.0,
"system_fingerprint": "fp_50cad350e4",
"input_user": null,
"service_tier": "default",
"tools": null,
"metadata": {},
"choices": [
{
"index": 0,
"message": {
"content": "The circuit's heart hums low,\nLearning patterns in silence—\nFuture's quiet spark.",
"role": "assistant",
"tool_calls": null,
"function_call": null
},
"finish_reason": "stop",
"logprobs": null
}
],
"response_format": null
}
],
"first_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
"last_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
"has_more": false
}
Chat Completion 메시지 목록 객체¶
채팅 완료 메시지 목록은 소개 메시지 목록을 나타냅니다.
object¶
- 유형: String
- 설명: 객체 유형, 항상 "목록"
data¶
- 유형: Array
- 설명: 채팅 완료 메시지 개체의 배열로, 각 개체는 다음 속성을 포함합니다.
id: 채팅 메시지의 식별자role: 메시지 작성자의 역할content: 메시지 내용, null일 수 있음name: 메시지 보낸 사람의 이름(null일 수 있음)refusal: 모델에 의해 생성된 거부 메시지(null일 수 있음)annotations: 해당되는 경우 제공되는 메시지 주석(예: 웹 검색 도구 사용 시)type: 주석 유형입니다. URL 인용의 경우 항상url_citation입니다.url_citation: 메시지의 URL 참조입니다.start_index: 메시지에 있는 URL 참조의 첫 번째 문자 인덱스입니다.end_index: 메시지에 있는 URL 참조의 마지막 문자 인덱스입니다.url: 네트워크 리소스의 URL입니다.title: 네트워크 리소스의 제목입니다.audio: 오디오 출력 양식이 요청된 경우 이 객체에는 모델의 오디오 응답 데이터가 포함됩니다.data: 요청에 지정된 형식의 모델의 Base64 인코딩 오디오 바이트입니다.id: 이 오디오 응답의 고유 식별자입니다.transcript: 모델의 오디오 녹음입니다.expires_at: 서버의 다중 대화에 대해 이 오디오 응답을 사용할 수 있는 Unix 타임스탬프(초)입니다.function_call: (사용 중단) 모델이 생성한 호출 함수 이름과 파라미터입니다.tool_calls로 대체되었습니다.name: 호출할 함수 이름입니다.
arguments: JSON 형식으로 모델에 의해 생성된 함수에 전달될 매개변수입니다.tool_calls: 함수 호출과 같이 모델에서 생성된 도구 호출id: 도구 호출의 ID입니다.type: 도구 유형입니다. 현재는 기능만 지원됩니다.function: 모델이 호출하는 함수입니다.name: 호출할 함수 이름입니다.
arguments: JSON 형식으로 모델에 의해 생성된 함수에 전달될 매개변수입니다.
first_id¶
- 유형: String
- 설명 : 데이터 배열 중 첫 번째 채팅 메시지의 식별자
last_id¶
- 유형: String
- 설명 : 데이터 배열 중 마지막 채팅 메시지의 식별자
has_more¶
- 유형: Boolean
- 설명 : 추가 채팅 메시지가 있는지 여부를 나타냅니다.
Chat Completion 메시지 목록 응답 예시¶
{
"object": "list",
"data": [
{
"id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
"role": "user",
"content": "Write a haiku about artificial intelligence",
"name": null,
"content_parts": null
}
],
"first_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
"last_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
"has_more": false
}