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

# 拡張トークン生成

SambaStack は、`ignore_eos` API パラメータによる拡張トークン生成 (extended token generation) をサポートしています。デフォルトでは、モデルは応答の完了を示すシグナルである EOS (End of Sequence) トークンを生成した時点で、生成を停止します。`ignore_eos` を有効にすると、モデルはこのシグナルを無視し、`max_tokens` に達するまでトークンを生成し続けます。これは、モデルが自然に停止するタイミングにかかわらず固定長の出力を必要とする、AIPerf などのベンチマークツールで有用です。

<Note>
  `ignore_eos` は**デフォルトで無効**です。ユーザーが API リクエストでこのパラメータを渡せるようにするには、SambaStack 管理者がデプロイメントごとに明示的に有効化する必要があります。`ENABLE_IGNORE_EOS` が設定されていないデプロイメントで `ignore_eos: true` を渡してもエラーは返されません。パラメータは黙って無視され、モデルは `ignore_eos: false` の場合と同じように動作します。
</Note>

## デプロイメントでの ignore\_eos の有効化

ユーザーがデプロイメントで `ignore_eos` を渡せるようにするには、`ModelDeployment` の YAML の `engineConfig.env_vars` の下に `ENABLE_IGNORE_EOS: "true"` を追加します。

```yaml theme={}
apiVersion: sambanova.ai/v1alpha1
kind: ModelDeployment
metadata:
  name: md-<name>
spec:
  bundle: <bundle_name>
  groups:
  - minReplicas: 1
    name: default
    qosList:
    - free
  owner: no-reply@sambanova.ai
  secretNames:
  - sambanova-artifact-reader
  engineConfig:
    startupTimeout: 7200
    env_vars:
      ENABLE_IGNORE_EOS: "true"
```

上記の例では、`spec.bundle` を通じてバンドルをデプロイしています。インラインの `spec.models` を使用する単一モデルのデプロイメントでも、同じ `engineConfig.env_vars` ブロックが適用されます。併記されている `startupTimeout` の単位は秒で、`7200` を指定すると、エンジンは大規模なバンドルのロードに 2 時間を確保できます。詳細は [起動タイムアウト](/docs/ja/v2.2.3/sambastack/service-administration/model-deployment/custom-resources/model-deployment#起動タイムアウト) をご覧ください。

更新した `ModelDeployment` の YAML を適用します。

```bash theme={}
kubectl apply -f myModelDeployment.yaml
```

<Note>
  SambaWiz ユーザーは、Model Deployment ページで生成された YAML に `engineConfig.env_vars` ブロックを追加するだけで済みます。spec の残りの部分は自動的に生成されます。
</Note>

## API リクエストでの ignore\_eos の使用

デプロイメントに `ENABLE_IGNORE_EOS` が設定されると、ユーザーは chat completions のリクエストボディで `ignore_eos: true` を渡せるようになります。

<Note>
  `ignore_eos` は vLLM の拡張であり、標準の OpenAI API には含まれません。SambaNova と OpenAI のどちらの Python クライアントでも、`extra_body` 経由で指定できます。
</Note>

<CodeGroup>
  ```python Python (SambaNova) theme={}
  from sambanova import SambaNova

  client = SambaNova(
      base_url="your-sambanova-base-url",
      api_key="your-sambanova-api-key",
  )

  response = client.chat.completions.create(
      model="Meta-Llama-3.3-70B-Instruct",
      messages=[
          {"role": "user", "content": "Generate 500 words on the topic of renewable energy."}
      ],
      max_tokens=500,
      extra_body={"ignore_eos": True},
  )

  print(response.choices[0].message.content)
  ```

  ```python Python (OpenAI) theme={}
  from openai import OpenAI

  client = OpenAI(
      base_url="your-sambanova-base-url",
      api_key="your-sambanova-api-key",
  )

  response = client.chat.completions.create(
      model="Meta-Llama-3.3-70B-Instruct",
      messages=[
          {"role": "user", "content": "Generate 500 words on the topic of renewable energy."}
      ],
      max_tokens=500,
      extra_body={"ignore_eos": True},
  )

  print(response.choices[0].message.content)
  ```
</CodeGroup>

## 動作

| `ignore_eos` の値 | 効果 |
| :- | :- |
| `false` (デフォルト) | EOS トークンを生成するか `max_tokens` に達するか、いずれか早い時点でモデルは生成を停止します |
| `true` | モデルは EOS トークンを無視し、`max_tokens` に達するまで生成を続けます |

<Warning>
  `ignore_eos` はベンチマークやテストのワークロード向けであり、本番のユーザートラフィックでの使用は想定されていません。SambaStack 1.2 における既知の同時実行数の制限 (SambaStack 2.0 で対応予定):

  * **同時実行数 1:** 安定して動作します。
  * **同時実行数 3:** 出力長が 64K トークン以上の場合に失敗が発生します。
  * **同時実行数 10 以上:** すべての出力サイズで 100% 失敗します。
</Warning>
