API 응답에서 반환된 오류 코드 외에도 때로는 HTTP 응답 헤더도 검사해야 할 수도 있습니다. 특히 관심을 끄는 부분은 특정 API 요청의 고유 ID와 요청에 적용되는 속도 제한에 대한 정보가 포함된 헤더입니다. 다음은 API 응답과 함께 반환된 HTTP 헤더의 불완전한 목록입니다.openai-organization
: 요청과 연결된 조직openai-processing-ms
: API 요청을 처리하는 데 걸리는 시간openai-version
: 이 요청에 사용된 REST API 버전(현재 2020-10-01
)x-request-id
: 이 API 요청에 대한 고유 식별자(문제 해결에 사용됨)x-ratelimit-limit-requests
x-ratelimit-limit-tokens
x-ratelimit-remaining-requests
x-ratelimit-remaining-tokens
x-ratelimit-reset-requests
x-ratelimit-reset-tokens
OpenAI는 프로덕션 배포에서 요청 ID를 로깅할 것을 권장합니다 . 이를 통해 필요한 경우 지원 팀 과 함께 보다 효율적으로 문제를 해결할 수 있습니다. 공식 SDK는 x-request-id
헤더 값을 포함하는 최상위 응답 개체에 대한 속성을 제공합니다.from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
messages=[{
"role": "user",
"content": "Say this is a test",
}],
model="gpt-4o-mini",
)
print(response._request_id)
import OpenAI from 'openai';
const client = new OpenAI();
const response = await client.chat.completions.create({
messages: [{ role: 'user', content: 'Say this is a test' }],
model: 'gpt-4o-mini'
});
console.log(response._request_id);
낮은 수준의 HTTP 클라이언트(예: C# HttpClient
fetch 또는 HttpClient)를 사용하는 경우 HTTP 인터페이스의 일부로 응답 헤더에 대한 액세스 권한이 이미 있어야 합니다.OpenAI의 공식 SDK (대부분 HTTP 요청/응답 주기를 추상화함) 중 하나를 사용하는 경우 약간 다른 방식으로 원시 HTTP 응답에 액세스해야 합니다.다음은 Python SDK를 사용하여 원시 응답 객체(및 x-ratelimit-limit-tokens
헤더)에 액세스하는 예입니다.from openai import OpenAI
client = OpenAI()
response = client.chat.completions.with_raw_response.create(
messages=[{
"role": "user",
"content": "Say this is a test",
}],
model="gpt-4o-mini",
)
print(response.headers.get('x-ratelimit-limit-tokens'))
# get the object that `chat.completions.create()` would have returned
completion = response.parse()
print(completion)
JavaScript SDK를 사용하여 원시 응답(및 x-ratelimit-limit-tokens
헤더)에 액세스하는 방법은 다음과 같습니다.import OpenAI from 'openai';
const client = new OpenAI();
const response = await client.chat.completions.create({
messages: [{ role: 'user', content: 'Say this is a test' }],
model: 'gpt-4o-mini'
}).asResponse();
// access the underlying Response object
console.log(response.headers.get('x-ratelimit-limit-tokens'));
Modified at 2024-12-12 10:01:06