> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jiekou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar solicitação de conversa

Gera uma resposta do modelo com base no prompt e nos parâmetros especificados

## Cabeçalhos da requisição

<ParamField header="Content-Type" type="string" required={true}>
  Valores enumerados: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Formato de autenticação Bearer: Bearer \{\{API Key}}.
</ParamField>

## Corpo da requisição

<ParamField body="model" type="string" required={true}>
  O nome do modelo correspondente. Para nomes de modelos disponíveis, consulte a biblioteca de modelos em: [JieKou AI](https://jiekou.ai/#model-library).
</ParamField>

<ParamField body="prompt" type="string" required={true}>
  O prompt usado para gerar a conversa (o prompt pode ser uma string, um array de strings, um array de tokens ou um array de arrays de tokens).
</ParamField>

<ParamField body="max_tokens" type="integer" required={false}>
  O número máximo de tokens que podem ser produzidos ao gerar a conversa.<br />A quantidade de tokens do prompt somada a max\_tokens não pode exceder o tamanho de contexto do modelo.
</ParamField>

<ParamField body="stream" type="boolean | null">
  Se deve usar transmissão em streaming. O padrão é false; se definido, os tokens serão enviados como data-only server-sent events (SSE) e o fluxo será encerrado com uma mensagem data: \[DONE].
</ParamField>

<ParamField body="stream_options" type="object">
  Opções de resposta em streaming. Defina apenas quando stream estiver definido como true.

  <Expandable title="propriedades" defaultOpen={false}>
    <ParamField body="include_usage" type="boolean" required={false}>
      Se definido, um chunk adicional será transmitido antes da mensagem data: \[DONE]. O campo usage nesse chunk mostra as estatísticas de uso de tokens de toda a requisição, enquanto o campo choices sempre será um array vazio. Todos os outros chunks também conterão um campo usage, mas com valor null.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="n" type="integer | null">
  Quantas conversas gerar para cada prompt. O valor padrão é 1.<br /><br />Observação: como este parâmetro gera várias conversas, ele pode consumir rapidamente sua cota de cobrança de tokens. Use com cautela e certifique-se de definir valores razoáveis para max\_tokens e stop.<br />Intervalo exigido: 1 \< x \< 128
</ParamField>

<ParamField body="seed" type="integer | null">
  Se especificado, nosso sistema fará o melhor esforço para realizar amostragem determinística, de modo que requisições repetidas com o mesmo seed e os mesmos parâmetros devem retornar o mesmo resultado.
</ParamField>

<ParamField body="frequency_penalty" type="number | null">
  O valor padrão é 0. Valores positivos penalizam novos tokens com base em sua frequência de ocorrência no texto atual, reduzindo a probabilidade de o modelo repetir o mesmo conteúdo.<br /><br />Se o objetivo for apenas reduzir amostras repetidas, valores razoáveis ficam aproximadamente entre 0.1 e 1. Se o objetivo for suprimir fortemente a repetição, o coeficiente pode ser aumentado para 2, mas isso pode reduzir perceptivelmente a qualidade da amostra. Valores negativos podem ser usados para aumentar a probabilidade de repetição.<br /><br />Veja também presence\_penalty, usado para penalizar tokens que aparecem pelo menos uma vez a uma taxa fixa<br />Intervalo exigido: -2 \< x \< 2
</ParamField>

<ParamField body="presence_penalty" type="number | null">
  O valor padrão é 0. Valores positivos penalizam novos tokens com base em eles aparecerem ou não no texto atual, aumentando a probabilidade de o modelo falar sobre novos tópicos.<br /><br />Se o objetivo for reduzir ligeiramente amostras repetidas, valores razoáveis ficam aproximadamente entre 0.1 e 1. Se o objetivo for suprimir fortemente a repetição, o coeficiente pode ser aumentado para 2, mas isso pode reduzir significativamente a qualidade da amostra. Valores negativos podem ser usados para aumentar a probabilidade de repetição.<br /><br />Veja também frequency\_penalty, usado para penalizar tokens a uma taxa crescente com base na frequência com que aparecem<br />Intervalo exigido: -2 \< x \< 2
</ParamField>

<ParamField body="repetition_penalty" type="number | null">
  Aplica uma penalidade a tokens repetidos para suprimir ou incentivar a repetição. Um valor de 1.0 significa sem penalidade, permitindo repetição livre. Valores maiores que 1.0 penalizam a repetição, reduzindo a probabilidade de tokens repetidos. Valores entre 0.0 e 1.0 recompensam a repetição, aumentando a chance de tokens repetidos. Para alcançar um bom equilíbrio, geralmente recomenda-se usar 1.2. Observe que, em modelos somente decodificador, a penalidade é aplicada tanto à saída gerada quanto ao prompt.<br />Intervalo exigido: 0 \< x \< 2
</ParamField>

<ParamField body="stop" type="string | null">
  Até 4 sequências nas quais a API interromperá a geração de mais tokens. O texto retornado contém a sequência de parada.
</ParamField>

<ParamField body="temperature" type="number | null">
  O grau de aleatoriedade na conversa, com valor padrão 1, entre 0 e 2. Valores mais altos (como 0.8) tornam a saída mais aleatória, enquanto valores mais baixos (como 0.2) tornam a saída mais focada e determinística.<br /><br />Geralmente recomendamos ajustar apenas este parâmetro ou top\_p, não ambos ao mesmo tempo.<br />Intervalo exigido: 0 \< x \< 2
</ParamField>

<ParamField body="top_p" type="number | null">
  Como alternativa a temperature, chamado de nucleus sampling, o modelo considera os resultados dos tokens com massa de probabilidade top\_p. Portanto, 0.1 significa considerar apenas os tokens que compõem os 10% superiores da massa de probabilidade. Geralmente recomendamos ajustar apenas este parâmetro ou temperature, não ambos ao mesmo tempo.<br />Intervalo exigido: 0 \< x ≤ 1
</ParamField>

<ParamField body="top_k" type="integer | null">
  A amostragem Top-k é outro método de amostragem no qual os k próximos tokens mais prováveis são filtrados, e a massa de probabilidade é redistribuída apenas entre esses k tokens. O valor de k controla o número de candidatos ao próximo token em cada etapa da geração de texto.<br />Intervalo exigido: 1 \< x \< 128
</ParamField>

<ParamField body="min_p" type="number | null">
  Um valor flutuante que representa a probabilidade mínima para que um token seja considerado, em relação à probabilidade do token mais provável.<br />Intervalo exigido: 0 ≤ x ≤ 1
</ParamField>

<ParamField body="logit_bias" type="map[string, integer]">
  O padrão é null. Modifica a probabilidade de tokens especificados aparecerem na conversa. Aceita um objeto JSON que mapeia tokens para um valor de viés associado de -100 a 100.
</ParamField>

<ParamField body="logprobs" type="integer | null">
  Retorna as probabilidades logarítmicas dos logprobs tokens de saída mais prováveis, incluindo também a probabilidade do token selecionado. Por exemplo, se logprobs for definido como 5, a API retornará uma lista das probabilidades logarítmicas dos 5 tokens mais prováveis em cada etapa de geração.<br />O valor máximo de logprobs é 5.
</ParamField>

<ParamField body="best_of" type="integer">
  O padrão é 1. Gera best\_of conversas e as processa no servidor, retornando a "melhor" (ou seja, aquela com a maior probabilidade logarítmica por token). Os resultados não podem ser transmitidos em streaming.<br /><br />Quando usado com n, best\_of controla o número de conversas candidatas, e n especifica quantas conversas retornar. best\_of deve ser maior que n.<br /><br />Observação: como este parâmetro gera várias conversas, ele pode consumir rapidamente sua cota de cobrança de tokens. Use com cautela e certifique-se de definir valores razoáveis para max\_tokens e stop.
</ParamField>

## Informações da resposta

<ResponseField name="choices" type="object[]" required={true}>
  Lista de opções de conversa geradas.

  <Expandable title="propriedades" defaultOpen={true}>
    <ResponseField name="finish_reason" type="string" required={true}>
      O motivo pelo qual o modelo parou de gerar tokens. Será "stop" se o modelo encontrar um ponto de parada natural ou uma sequência de parada fornecida; será "length" se a quantidade máxima de tokens especificada na requisição for atingida. Valores enumerados: `stop,length`.
    </ResponseField>

    <ResponseField name="index" type="integer" required={true}>
      O índice da opção de conversa.
    </ResponseField>

    <ResponseField name="logprobs" type="object" required={true}>
      Probabilidades logarítmicas dos tokens mais prováveis.

      <Expandable title="propriedades" defaultOpen={true}>
        <ResponseField name="text_offset" type="integer[]">
          Array de inteiros dos offsets de texto.
        </ResponseField>

        <ResponseField name="token_logprobs" type="number[]">
          Array de números das probabilidades logarítmicas dos tokens.
        </ResponseField>

        <ResponseField name="tokens" type="string[]">
          Array de strings dos tokens.
        </ResponseField>

        <ResponseField name="top_logprobs" type="object[]">
          Array de objetos contendo as principais probabilidades logarítmicas.

          <Expandable title="propriedades">
            <ResponseField name="{key}" type="integer" required={true}>
              Valor de probabilidade logarítmica para a chave fornecida.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="text" type="string" required={true}>
      Conteúdo retornado pela conversa.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created" type="integer" required={true}>
  Timestamp Unix em que a resposta foi gerada (em segundos).
</ResponseField>

<ResponseField name="id" type="string" required={true}>
  Identificador exclusivo da resposta.
</ResponseField>

<ResponseField name="model" type="string" required={true}>
  Modelo usado para a conversa.
</ResponseField>

<ResponseField name="object" type="string" required={true}>
  Tipo de objeto, sempre text\_completion.
</ResponseField>

<ResponseField name="usage" type="object" required={true}>
  Estatísticas de uso.<br />Para respostas em streaming, o campo usage é incluído no último bloco de resposta retornado.

  <Expandable title="propriedades" defaultOpen={true}>
    <ResponseField name="completion_tokens" type="integer" required={true}>
      Número de tokens gerados pela conversa.
    </ResponseField>

    <ResponseField name="prompt_tokens" type="integer" required={true}>
      Número de tokens no prompt.
    </ResponseField>

    <ResponseField name="total_tokens" type="integer" required={true}>
      Número total de tokens usados na requisição (prompt + completion).
    </ResponseField>
  </Expandable>
</ResponseField>
