Solicitações de depuração
Além dos códigos de erro retornados de respostas de API, às vezes também pode ser necessário inspecionar cabeçalhos de resposta HTTP. De particular interesse serão os cabeçalhos que contêm o ID exclusivo de uma determinada solicitação de API e informações sobre limitação de taxa aplicada às suas solicitações. Abaixo está uma lista incompleta de cabeçalhos HTTP retornados com respostas de API:openai-organization
: A organização associada à solicitaçãoopenai-processing-ms
: Tempo necessário para processar sua solicitação de APIopenai-version
: Versão da API REST usada para esta solicitação (atualmente 2020-10-01
)x-request-id
: identificador exclusivo para esta solicitação de API (usado na solução de problemas)x-ratelimit-limit-solicitações
x-ratelimit-remaining-requests
x-ratelimit-reset-requests`
x-ratelimit-reset-tokens
A OpenAI recomenda registrar IDs de solicitação em implantações de produção, o que permitirá uma solução de problemas mais eficiente com nossa equipe de suporte, caso seja necessário. Nossos SDKs oficiais fornecem uma propriedade em objetos de resposta de nível superior contendo o valor do cabeçalho x-request-id
.ID de solicitação em Pythonfrom 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)
ID de solicitação em JavaScriptimport 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);
Acessar objetos de resposta bruta em SDKs#
Se você estiver usando um cliente HTTP de nível inferior (como fetch ou HttpClient
em C#), você já deve ter acesso aos cabeçalhos de resposta como parte da interface HTTP.Se você estiver usando um dos SDKs oficiais da OpenAI (que abstraem em grande parte o ciclo de solicitação/resposta HTTP), você precisará acessar respostas HTTP brutas de uma maneira ligeiramente diferente.Abaixo está um exemplo de acesso ao objeto de resposta bruto (e o cabeçalho x-ratelimit-limit-tokens
) usando nosso Python SDK.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)
Veja como você acessaria uma resposta bruta (e o cabeçalho x-ratelimit-limit-tokens
) usando nosso JavaScript SDK.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 2025-01-23 10:24:25