Parâmetros de amostragem
Campos opcionais num pedido de conclusão de chat que moldam a forma como uma resposta é gerada, usando os mesmos nomes e intervalos da própria API da OpenAI.
Visão geral
Nenhum destes é obrigatório. Omitir um campo por completo significa que o modelo usa a sua própria predefinição para essa definição, o que é a escolha certa para a maioria dos pedidos; recorra a estes quando um pedido específico realmente precisar de mais determinismo, mais variedade, ou uma condição de paragem rígida. Todos os valores aqui são validados à entrada: um valor do tipo errado, ou um número fora do intervalo aceite, é silenciosamente ignorado apenas nesse campo em vez de falhar todo o pedido, pelo que um parâmetro de amostragem malformado nunca transforma um pedido funcional num pedido com falhas. Se um pedido se comportar como se um parâmetro enviado não tivesse tido efeito, verificar se está dentro do intervalo aceite abaixo é a primeira coisa a confirmar.
| Campo | Tipo | Intervalo | Efeito |
|---|---|---|---|
| temperature | number | 0–2 | Valores mais altos tornam a saída mais variada e menos previsível; valores mais baixos tornam-na mais focada e determinística. 0 aproxima-se de escolher sempre o próximo token mais provável. |
| top_p | number | 0–1 | Amostragem por núcleo (nucleus sampling): restringe as escolhas ao menor conjunto de tokens cuja probabilidade combinada atinge este valor. Um controlo alternativo a temperature para controlar a variedade; a maioria dos pedidos deve definir um ou outro, não ambos. |
| presence_penalty | number | -2–2 | Valores positivos reduzem a probabilidade de um token que já tenha aparecido em qualquer ponto da resposta até agora, incentivando o modelo a trazer novos tópicos em vez de se deter nos já mencionados. |
| frequency_penalty | number | -2–2 | Valores positivos reduzem a probabilidade de um token proporcionalmente ao número de vezes que já apareceu, desencorajando a repetição das mesmas palavras e frases. |
| seed | integer | qualquer inteiro | Pedir a mesma seed com um pedido, de resto, idêntico torna a saída mais reprodutível de execução para execução. Não é uma garantia estrita de saída idêntica byte a byte sempre, mas reduz significativamente a variação em testes e depuração. |
| stop | string ou array de strings | até algumas sequências curtas | A geração para no momento em que qualquer uma destas sequências apareceria na saída. A própria sequência não é incluída no texto devolvido. |
Exemplo
{
"model": "tai-4.1",
"messages": [{"role": "user", "content": "Bir ürün açıklaması yaz"}],
"temperature": 0.3,
"presence_penalty": 0.4,
"stop": ["###"]
}
Quando recorrer a cada um
Para qualquer caso em que a consistência importe mais do que a variedade, extração, classificação, saída estruturada, código, manter temperature baixa (0 a cerca de 0,3) costuma ser a escolha certa. Para escrita aberta, brainstorming, ou qualquer caso em que prefira ver um leque de saídas plausíveis ao longo de chamadas repetidas, uma temperature mais alta (0,7 a 1,0 ou mais) tende a produzir uma variedade mais interessante. presence_penalty e frequency_penalty valem a pena especificamente quando um modelo está a produzir texto repetitivo, a repetir a mesma frase em ciclo, ou a reafirmar o mesmo ponto; são menos úteis como predefinição de uso geral do que temperature. seed é sobretudo útil durante o desenvolvimento e testes, onde reproduzir a mesma saída entre execuções torna a depuração de uma alteração de prompt muito mais fácil do que tentar perceber se uma diferença na saída veio da sua alteração ou da variância normal da amostragem.
Atualmente não suportado
Alguns campos relacionados com amostragem que existem na própria API da OpenAI não são atualmente aceites: n (múltiplas conclusões candidatas por pedido; a tAI devolve sempre exatamente uma), logprobs / top_logprobs, e response_format (saída em modo JSON estruturado). Enviar qualquer um destes não tem efeito; não são validados nem aplicados. Consulte a página Compatibilidade com o SDK da OpenAI para a lista completa do que é e não é suportado, caso esteja a portar uma integração existente.