大規模言語モデル (LLM) は通常は、出力を拡張するための設定を提供します。すべての AI SDK 関数は、モデル、プロンプト、追加のプロバイダー固有設定に加えて、共通の設定をサポートしています。
Vercel AI SDK 6 : AI SDK Core – 設定
作成 : Masashi Okumura (@classcat.com)
作成日時 : 01/31/2026
バージョン : ai@6.0.64
* 本記事は ai-sdk.dev/docs の以下のページを参考にしています :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
◆ お問合せ : 下記までお願いします。
- クラスキャット セールス・インフォメーション
- sales-info@classcat.com
- ClassCatJP

Vercel AI SDK 6.x : AI SDK Core – 設定
大規模言語モデル (LLM) は通常は、出力を拡張するための設定を提供します。
すべての AI SDK 関数は、モデル、プロンプト、追加のプロバイダー固有設定に加えて、以下の共通の設定をサポートしています :
Gateway
const result = await generateText({
model: "openai/gpt-4o-mini",
maxOutputTokens: 512,
temperature: 0.3,
maxRetries: 5,
prompt: 'Invent a new holiday and describe its traditions.',
});
maxOutputTokens
生成するトークンの最大数。
temperature
Temperature 設定。
この値はプロバイダーに渡されます。範囲はプロバイダーとモデルに依存します。殆どのプロバイダーについて、0 はほぼ決定論的な結果を意味し、より高い値はランダム性が増すことを意味します。
temperature または topP のいずれかを設定することを勧めますが、両方ではありません。
topP
核サンプリング。
この値はプロバイダーに渡されます。範囲はプロバイダーとモデルに依存します。殆どのプロバイダーについて、核サンプリングは 0 と 1 の間の数値です。例えば、0.1 は、top 10% の確率質量を持つトークン群だけが考慮されます。
temperature または topP のいずれかを設定することを勧めますが、両方ではありません。
topK
各後続のトークンについて上位 K 個の選択肢のみからサンプリングします。
「ロングテール」つまり低確率のレスポンスを除外するために使用されます。高度なユースケースに対してのみ勧めます。通常は temperature を使用する必要があるだけです。
presencePenalty
プレゼンスペナルティは、モデルがプロンプトに既にある情報を繰り返す尤度に影響します。
値はプロバイダーにそのまま渡されます。範囲はプロバイダーとモデルに依存します。殆どのプロバイダーについては、0 はペナルティがないことを意味します。
frequencyPenalty
頻度ペナルティは、モデルが同じ単語やフレーズを繰り返し使用する尤度に影響します。
値はプロバイダーにそのまま渡されます。範囲はプロバイダーとモデルに依存します。殆どのプロバイダーについては、0 はペナルティがないことを意味します。
stopSequences
テキスト生成を定義するために使用する停止シークエンスです。
設定されていれば、モデルは停止シークエンスの一つが生成された場合にテキスト生成を停止します。プロバイダーが停止シークエンスの数を制限する場合があります。
seed
ランダムサンプリングに使用するシード (整数)。設定し、モデルによりサポートされる場合、呼び出しは決定論的な結果を生成します。
maxRetries
再試行の最大回数。再試行を無効にするには 0 に設定します。デフォルト: 2。
abortSignal
呼び出しをキャンセルするために使用できるオプションの abort シグナルです。
abort シグナルは、例えば、ユーザインターフェイスから転送されて呼び出しをキャンセルしたり、AbortSignal.timeout を使用してタイムアウトを定義することができます。
例: AbortSignal.timeout
Gateway
const result = await generateText({
model: "openai/gpt-4o-mini",
prompt: 'Invent a new holiday and describe its traditions.',
abortSignal: AbortSignal.timeout(5000), // 5 seconds
});
timeout
オプションのタイムアウト (ミリ秒単位)。指定された時間よりも長くかかれば、呼び出しは中止 (abort) されます。
内部的に abort を生成する便利なパラメータです。abortSignal とともに使用できます – 両方が提供されれば、どちらかの条件が満たされれば呼び出しは中止されます。
タイムアウトは数値 (ミリ秒) か、totalMs, stepMs, and/or chunkMs プロパティを持つオブジェクトのいずれかとして指定できます :
- totalMs: すべてのステップを含む呼び出し全体の合計タイムアウト。
- stepMs: 各個々のステップ (LLM 呼び出し) のタイムアウト。これは、各ステップに費やされる時間を個別に制限したい、マルチステップの生成に有用です。
- chunkMs: ストリーム・チャンク間のタイムアウト (ストリーミングのみ)。この時間内に新しいチャンクが受信されない場合、呼び出しは中止されます。これはストリームの滞留を検出するのに役立ちます。
例: 5 秒タイムアウト (数値形式)
Gateway
const result = await generateText({
model: "openai/gpt-4o-mini",
prompt: 'Invent a new holiday and describe its traditions.',
timeout: 5000, // 5 seconds
});
例: 合計 5 秒のタイムアウト (オブジェクト形式)
Gateway
const result = await generateText({
model: "openai/gpt-4o-mini",
prompt: 'Invent a new holiday and describe its traditions.',
timeout: { totalMs: 5000 }, // 5 seconds
});
例: 10 秒のステップタイムアウト
Gateway
const result = await generateText({
model: "openai/gpt-4o-mini",
prompt: 'Invent a new holiday and describe its traditions.',
timeout: { stepMs: 10000 }, // 10 seconds per step
});
例: 合計タイムアウトとステップタイムアウトの組み合わせ
Gateway
const result = await generateText({
model: "openai/gpt-4o-mini",
prompt: 'Invent a new holiday and describe its traditions.',
timeout: {
totalMs: 60000, // 60 seconds total
stepMs: 10000, // 10 seconds per step
},
});
例: ストリーミングのチャンク毎のタイムアウト (streamText only)
Gateway
const result = streamText({
model: "openai/gpt-4o-mini",
prompt: 'Invent a new holiday and describe its traditions.',
timeout: { chunkMs: 5000 }, // abort if no chunk received for 5 seconds
});
headers
リクエストとともに送信される、追加の HTTP ヘッダ。HTTP ベースのプロバイダーに対してのみ適用されます。
プロバイダーが何をサポートするかに依存して、リクエストヘッダを使用してプロバイダーに追加情報を提供できます。例えば、一部の observability プロバイダーは Prompt-Id のようなヘッダをサポートしています。
Gateway
import { generateText } from 'ai';
const result = await generateText({
model: "openai/gpt-4o-mini",
prompt: 'Invent a new holiday and describe its traditions.',
headers: {
'Prompt-Id': 'my-prompt-id',
},
});
以上
