> ## 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.

# 対話リクエストを作成

指定された prompt とパラメータに基づいてモデルの応答を生成します

## リクエストヘッダー

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

<ParamField header="Authorization" type="string" required={true}>
  Bearer 認証形式: Bearer \{\{API Key}}。
</ParamField>

## リクエストボディ

<ParamField body="model" type="string" required={true}>
  対応するモデル名。利用可能なモデル名については、[JieKou AI](https://jiekou.ai/#model-library) のモデルライブラリを参照してください。
</ParamField>

<ParamField body="prompt" type="string" required={true}>
  対話を生成するためのプロンプト（プロンプトは文字列、文字列配列、tokens 配列、または tokens 配列の配列にできます）。
</ParamField>

<ParamField body="max_tokens" type="integer" required={false}>
  対話生成時に生成できる最大 tokens 数。<br />prompt の tokens 数と max\_tokens の合計は、モデルのコンテキスト長を超えることはできません。
</ParamField>

<ParamField body="stream" type="boolean | null">
  ストリーミングを使用するかどうか。デフォルトは false です。設定すると、tokens は data-only server-sent events（SSE）として送信され、data: \[DONE] メッセージでストリームを終了します。
</ParamField>

<ParamField body="stream_options" type="object">
  ストリーミング応答オプション。stream が true に設定されている場合のみ設定します。

  <Expandable title="properties" defaultOpen={false}>
    <ParamField body="include_usage" type="boolean" required={false}>
      設定すると、data: \[DONE] メッセージの前に追加の chunk が 1 つストリーミングされます。この chunk の usage フィールドにはリクエスト全体の tokens 使用統計が表示され、choices フィールドは常に空配列になります。他のすべての chunk にも usage フィールドが含まれますが、値は null です。
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="n" type="integer | null">
  各プロンプトに対して生成する対話の数。デフォルト値は 1 です。<br /><br />注意: このパラメータは複数の対話を生成するため、tokens の課金枠を急速に消費する可能性があります。慎重に使用し、max\_tokens と stop に適切な値が設定されていることを確認してください。<br />必要な範囲: 1 \< x \< 128
</ParamField>

<ParamField body="seed" type="integer | null">
  指定した場合、同じ seed とパラメータでの繰り返しリクエストが同じ結果を返すよう、当社のシステムは可能な限り決定的サンプリングを行います。
</ParamField>

<ParamField body="frequency_penalty" type="number | null">
  デフォルト値は 0 です。正の値は、新しい tokens が現在のテキスト内に出現した頻度に基づいてペナルティを与え、モデルが同じ内容を繰り返す可能性を下げます。<br /><br />単に繰り返しサンプルを減らすことが目的であれば、妥当な値はおおよそ 0.1 から 1 の範囲です。繰り返しを強く抑制することが目的であれば、係数を 2 まで上げることもできますが、サンプル品質が明らかに低下する可能性があります。負の値は繰り返しの可能性を高めるために使用できます。<br /><br />少なくとも 1 回出現した tokens を固定レートでペナルティする presence\_penalty も参照してください<br />必要な範囲: -2 \< x \< 2
</ParamField>

<ParamField body="presence_penalty" type="number | null">
  デフォルト値は 0 です。正の値は、新しい tokens が現在のテキスト内に出現しているかどうかに基づいてペナルティを与え、モデルが新しいトピックについて話す可能性を高めます。<br /><br />繰り返しサンプルを少し減らすことが目的であれば、妥当な値はおおよそ 0.1 から 1 の範囲です。繰り返しを強く抑制することが目的であれば、係数を 2 まで上げることもできますが、サンプル品質が大幅に低下する可能性があります。負の値は繰り返しの可能性を高めるために使用できます。<br /><br />tokens の出現頻度に応じて増加するレートでペナルティを与える frequency\_penalty も参照してください<br />必要な範囲: -2 \< x \< 2
</ParamField>

<ParamField body="repetition_penalty" type="number | null">
  繰り返される tokens にペナルティを適用し、繰り返しを抑制または促進します。値 1.0 はペナルティなしを意味し、自由な繰り返しを許可します。1.0 より大きい値は繰り返しにペナルティを与え、繰り返し tokens の可能性を下げます。0.0 から 1.0 の間の値は繰り返しに報酬を与え、繰り返し tokens の機会を増やします。良好なバランスを得るためには、通常 1.2 の使用が推奨されます。デコーダーのみのモデルでは、ペナルティが生成された出力とプロンプトの両方に適用されることに注意してください。<br />必要な範囲: 0 \< x \< 2
</ParamField>

<ParamField body="stop" type="string | null">
  最大 4 個のシーケンス。API はそれ以降の tokens の生成を停止します。返されるテキストには停止シーケンスが含まれます。
</ParamField>

<ParamField body="temperature" type="number | null">
  対話におけるランダム性の度合い。デフォルト値は 1 で、0 から 2 の間です。高い値（例: 0.8）は出力をよりランダムにし、低い値（例: 0.2）は出力をより集中させ、決定性を高めます。<br /><br />通常、これと top\_p の両方ではなく、どちらか一方のみを調整することを推奨します。<br />必要な範囲: 0 \< x \< 2
</ParamField>

<ParamField body="top_p" type="number | null">
  temperature の代替手法で、nucleus sampling と呼ばれます。モデルは top\_p の確率質量を持つ tokens の結果を考慮します。したがって、0.1 は上位 10% の確率質量を構成する tokens のみを考慮することを意味します。通常、これと temperature の両方ではなく、どちらか一方のみを調整することを推奨します。<br />必要な範囲: 0 \< x ≤ 1
</ParamField>

<ParamField body="top_k" type="integer | null">
  Top-k サンプリングは別のサンプリング手法で、この方法では k 個の最も可能性の高い次の tokens が選別され、確率質量はこの k 個の tokens の間でのみ再分配されます。k の値は、テキスト生成の各ステップで次の tokens の候補数を制御します。<br />必要な範囲: 1 \< x \< 128
</ParamField>

<ParamField body="min_p" type="number | null">
  ある tokens が考慮される最小確率を表す浮動小数点値で、最も可能性の高い tokens の確率に対する相対値です。<br />必要な範囲: 0 ≤ x ≤ 1
</ParamField>

<ParamField body="logit_bias" type="map[string, integer]">
  デフォルトは null です。指定した tokens が対話に出現する可能性を変更します。tokens を -100 から 100 までの関連バイアス値にマッピングする JSON オブジェクトを受け付けます。
</ParamField>

<ParamField body="logprobs" type="integer | null">
  最も可能性の高い logprobs 個の出力 token の対数確率を返し、選択された token の確率も含みます。たとえば、logprobs を 5 に設定すると、API は各生成ステップで上位 5 個の最も可能性の高い token の対数確率リストを返します。<br />logprobs の最大値は 5 です。
</ParamField>

<ParamField body="best_of" type="integer">
  デフォルトは 1 です。best\_of 個の対話を生成してサーバー側で処理し、「最良」（つまり、各 tokens の対数確率が最も高いもの）を返します。結果はストリーミングできません。<br /><br />n と一緒に使用する場合、best\_of は候補対話の数を制御し、n は返す対話の数を指定します。best\_of は n より大きくなければなりません。<br /><br />注意: このパラメータは複数の対話を生成するため、tokens の課金枠を急速に消費する可能性があります。慎重に使用し、max\_tokens と stop に適切な値が設定されていることを確認してください。
</ParamField>

## レスポンス情報

<ResponseField name="choices" type="object[]" required={true}>
  生成された対話の選択肢リスト。

  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="finish_reason" type="string" required={true}>
      モデルが tokens の生成を停止した理由。モデルが自然な停止点または指定された停止シーケンスに到達した場合は ‘stop’、リクエストで指定された最大 tokens 数に達した場合は ‘length’ です。列挙値: `stop,length`。
    </ResponseField>

    <ResponseField name="index" type="integer" required={true}>
      対話選択肢のインデックス。
    </ResponseField>

    <ResponseField name="logprobs" type="object" required={true}>
      最も可能性の高い tokens の対数確率。

      <Expandable title="properties" defaultOpen={true}>
        <ResponseField name="text_offset" type="integer[]">
          テキストオフセットの整数配列。
        </ResponseField>

        <ResponseField name="token_logprobs" type="number[]">
          token の対数確率の数値配列。
        </ResponseField>

        <ResponseField name="tokens" type="string[]">
          tokens の文字列配列。
        </ResponseField>

        <ResponseField name="top_logprobs" type="object[]">
          top 対数確率を含むオブジェクト配列。

          <Expandable title="properties">
            <ResponseField name="{key}" type="integer" required={true}>
              指定されたキーの対数確率値。
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="text" type="string" required={true}>
      対話で返される内容。
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created" type="integer" required={true}>
  レスポンスが生成された Unix タイムスタンプ（秒単位）。
</ResponseField>

<ResponseField name="id" type="string" required={true}>
  レスポンスの一意の識別子。
</ResponseField>

<ResponseField name="model" type="string" required={true}>
  対話に使用されたモデル。
</ResponseField>

<ResponseField name="object" type="string" required={true}>
  オブジェクトタイプ。常に text\_completion です。
</ResponseField>

<ResponseField name="usage" type="object" required={true}>
  使用統計。<br />ストリーミング応答の場合、usage フィールドは返される最後の応答ブロックに含まれます。

  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="completion_tokens" type="integer" required={true}>
      対話で生成された tokens 数。
    </ResponseField>

    <ResponseField name="prompt_tokens" type="integer" required={true}>
      prompt 内の tokens 数。
    </ResponseField>

    <ResponseField name="total_tokens" type="integer" required={true}>
      リクエストで使用された総 tokens 数（prompt + completion）。
    </ResponseField>
  </Expandable>
</ResponseField>
