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

# ai_function_* セッション設定

> ai_function_* の自動生成グループ内の ClickHouse セッション設定。

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>デフォルト値</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          再起動せずに変更可能
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            実験的な機能です。 <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">詳細を見る。</a></u>
        </div>;
};

これらの設定は [system.settings](/docs/ja/reference/system-tables/settings) で確認でき、[source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp) から自動生成されています。

<div id="ai_function_embedding_default_credentials">
  ## ai\_function\_embedding\_default\_credentials
</div>

<ExperimentalBadge />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": ""},{"label": "新しい設定"}]}]} />

呼び出し時にパラメータマップで `credentials` が渡されない場合に、`aiEmbed` が使用する 名前付きコレクション の名前です。空の場合はデフォルトがないことを意味し、そのような呼び出しでは `credentials` を明示的に渡す必要があります。`aiEmbed` は `model` を必須の位置引数として受け取り、名前付きコレクション からは取得しません。埋め込み用のエンドポイントはチャット用のものとは異なるため、`ai_function_text_default_credentials` とは分けて管理されています。

<div id="ai_function_embedding_max_batch_size">
  ## ai\_function\_embedding\_max\_batch\_size
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="NonZeroUInt64" default_value="100" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "100"},{"label": "新しい設定"}]}]} />

`aiEmbed` が 1 回の HTTP リクエストに含められるテキストの最大数です。API 呼び出しのオーバーヘッドを減らすため、テキストはこのサイズのバッチにまとめられます。たとえば、一意なテキストが 500 件あり、バッチサイズが 100 の場合、HTTP リクエストは 5 回になります。

<div id="ai_function_max_api_calls_per_query">
  ## ai\_function\_max\_api\_calls\_per\_query
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "新しい設定"}]}]} />

AI 関数が 1 クエリあたりに送信できる HTTP リクエストの最大数です。無効にするには 0 に設定します。

<div id="ai_function_max_input_tokens_per_query">
  ## ai\_function\_max\_input\_tokens\_per\_query
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="1000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1000000"},{"label": "新しい設定"}]}]} />

1 回のクエリ内で、すべての AI 関数の API 呼び出しにおける入力 (プロンプト) トークン総数の上限です。これはプロバイダのレスポンスに基づいて累積的に追跡されます。呼び出しごとの入力トークン数は事前にわからないため、この上限は 1 回の呼び出し分の入力トークン数だけ超過する可能性がある点に注意してください。無効にするには 0 に設定します。

この上限は、レスポンス内で `usage` オブジェクトを返すプロバイダ (OpenAI、Anthropic、vLLM) に対してのみ適用されます。トークン使用量を返さないプロバイダ (特に HuggingFace TEI) の場合、カウンターは 0 のままになるため、そのような呼び出しを制限するには代わりに `ai_function_max_api_calls_per_query` を使用してください。

<div id="ai_function_max_output_tokens_per_query">
  ## ai\_function\_max\_output\_tokens\_per\_query
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="500000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "500000"},{"label": "新しい設定"}]}]} />

1 つのクエリ内における、すべての AI 関数 API 呼び出し にまたがる出力 (completion) トークン の合計上限です。これはプロバイダからのレスポンスに基づいて累積的に追跡されます。呼び出しごとの出力 トークン 数は事前にわからないため、この上限は 1 回の呼び出し分の出力 トークン だけ超過する場合があります。無効にするには 0 に設定します。

この制限が適用されるのは、レスポンス内で `usage` object を返すプロバイダ (OpenAI、Anthropic、vLLM) のみです。埋め込み関数 (特に aiEmbed) には適用されません。これらは出力 トークン を生成しないためです。

<div id="ai_function_max_retries">
  ## ai\_function\_max\_retries
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "新しい設定"}]}]} />

個々のAPIリクエストに対して、一時的なエラー発生時に行う再試行の最大回数です。各再試行では、`ai_function_retry_initial_delay_ms` を初期値とする指数バックオフを使用します。

<div id="ai_function_request_timeout_sec">
  ## ai\_function\_request\_timeout\_sec
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="60" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "60"},{"label": "新しい設定"}]}]} />

AI 関数 (AI Chat の補完および埋め込み API 呼び出し) が行う個々の HTTP リクエストのタイムアウトを秒単位で指定します。リクエストがこの時間内に完了しない場合は失敗とみなされ、`ai_function_max_retries` に従って再試行されることがあります。

<div id="ai_function_retry_initial_delay_ms">
  ## ai\_function\_retry\_initial\_delay\_ms
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1000"},{"label": "新しい設定"}]}]} />

失敗した AI 関数の API リクエストを最初に再試行するまでの初期遅延を、ミリ秒単位で指定します。この遅延は、以降の試行ごとに 2 倍になります (指数バックオフ) 。たとえば、デフォルト設定では 1000ms、2000ms、4000ms です。

<div id="ai_function_text_default_credentials">
  ## ai\_function\_text\_default\_credentials
</div>

<ExperimentalBadge />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": ""},{"label": "新しい設定"}]}]} />

呼び出し時にパラメータマップで `credentials` が渡されない場合、テキスト AI 関数 (`aiGenerate`、`aiClassify`、`aiExtract`、`aiTranslate`) が使用する名前付きコレクションの名前です。空の場合はデフォルトがないことを意味し、そのような呼び出しでは `credentials` を明示的に渡す必要があります。chat-completions の endpoint は 埋め込み 用のものとは異なるため、これは `ai_function_embedding_default_credentials` とは別です。

<div id="ai_function_throw_on_error">
  ## ai\_function\_throw\_on\_error
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "新しい設定"}]}]} />

true の場合 (デフォルト) 、再試行をすべて使い切っても AI 関数呼び出しが最終的に失敗すると、例外を発生させてクエリを中断します。false の場合、失敗した行にはカラム型のデフォルト値 (String の場合は空文字列) が設定され、処理は継続されます。

<div id="ai_function_throw_on_quota_exceeded">
  ## ai\_function\_throw\_on\_quota\_exceeded
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "新しい設定"}]}]} />

true (デフォルト) の場合、AI 関数のクォータ制限 (`ai_function_max_input_tokens_per_query`、`ai_function_max_output_tokens_per_query`、または `ai_function_max_api_calls_per_query`) を超えると、例外が発生してクエリは中止されます。false の場合、残りの行にはカラムの型のデフォルト値 (String の場合は空文字列) が設定されます。
