メインコンテンツへスキップ
AI 関数は ClickHouse の組み込み関数で、AI の呼び出しや埋め込みの生成に使用でき、データの処理、情報の抽出、データの分類などを行えます。
AI 関数は予測不能な出力を返す場合があります。結果は、プロンプトの品質と使用するモデルに大きく依存します。
すべての関数は、以下を提供する共通のインフラストラクチャを利用しています。

設定

AI 関数は、プロバイダーの認証情報と設定を格納する named collection を参照します。各関数の最初の引数は、この collection の名前です。 プロバイダーの認証情報を含む named collection を作成するステートメントの例:

名前付きコレクションのパラメータ

provider = 'openai' を設定し、endpoint を利用するサービスに向けることで、任意の OpenAI 互換 API (例: vLLM、Ollama、LiteLLM) を使用できます。

クエリレベルの設定

AI 関連の設定はすべて、ai_function_ プレフィックスで Settings に一覧表示されています。

エンドポイントホストの制限

AI named collection の endpoint URL は、サーバーが自身の identity で接続する送信先であり、リクエストヘッダーに named collection の api_key を含めて送信します。デフォルトでは、ClickHouse はすべてのホストへの接続を許可します。関数を特定の provider 群のみに制限するには、サーバー設定で remote_url_allow_hosts を設定します。例:
この設定はサーバー全体に適用され、HTTP を使用するすべての機能に適用されることに注意してください。

サポートされているプロバイダー

オブザーバビリティ

AI 関数のアクティビティは、ClickHouse の ProfileEvents で追跡できます。 これらのイベントをクエリします。

aiClassify

導入バージョン: v26.4.0 指定されたテキストを、LLMプロバイダーを使用して、与えられたカテゴリのいずれか 1 つに分類します。 この関数は、固定の分類プロンプトと、モデルが指定されたラベルのうちちょうど 1 つだけを返すよう制約する JSON スキーマのレスポンスフォーマットとともに、テキストを送信します。レスポンスが {"category": "..."} 形式の JSON オブジェクトとして返された場合は、ラベルが取り出され、その文字列が返されます。 最初の引数は、プロバイダー、モデル、エンドポイント、APIキーを指定する named collection です。 構文
別名: AIClassify 引数
  • collection — provider credentials と設定を含む named collection の名前。String
  • text — 分類するテキスト。String
  • categories — 候補となるカテゴリラベルの定数リスト。Array(String)
  • temperature — ランダム性を制御するサンプリング温度。デフォルト: 0.0Float64
戻り値 指定されたカテゴリラベルのいずれか、またはリクエストが失敗し、ai_function_throw_on_error が無効になっている場合はカラム型のデフォルト値 (空文字列) 。String 感情を分類
Query
Response
カラムを分類する
Query
Response

aiExtract

導入バージョン: v26.4.0 LLMプロバイダーを使用して、非構造化テキストから構造化情報を抽出します。 3 番目の引数には、自由形式の自然言語による指示 (例: '主な訴え') または '{"field_a": "field a の説明", "field_b": "field b の説明"}' の形式の JSON エンコードされたスキーマを指定できます。 指示モードでは、この関数は抽出した値をプレーンな文字列として返し、何も見つからなかった場合は空文字列を返します。 スキーマモードでは、この関数は要求されたスキーマに対応するキーを持つ JSON オブジェクト文字列を返します。存在しないフィールドは null になります。 最初の引数は、provider、model、endpoint、および API key を指定する named collection です。 構文
別名: AIExtract 引数
  • collection — provider credentials と設定を含む named collection の名前。String
  • text — 情報を抽出するテキスト。String
  • instruction_or_schema — 自由形式の抽出指示、または抽出するフィールドを記述した定数の JSONオブジェクト。const String
  • temperature — ランダム性を制御するサンプリング温度。デフォルト: 0.0const Float64
戻り値 単一の抽出結果 (指示モード) または JSONオブジェクト文字列 (スキーマモード) 。リクエストが失敗し、ai_function_throw_on_error が無効になっている場合は、カラム型のデフォルト値 (空文字列) を返します。String 自由形式の指示
Query
Response
スキーマ抽出
Query
Response

aiGenerate

導入バージョン: v26.4.0 LLMプロバイダーを使用して、プロンプトから自由形式のテキストコンテンツを生成します。 この関数は、設定されたAIプロバイダーにプロンプトを送信し、生成されたテキストを返します。 任意のシステムプロンプトを指定して、モデルの挙動 (例: トーン、フォーマット、ロール) を制御できます。 システムプロンプトが指定されていない場合、デフォルトのシステムプロンプトは次のとおりです: You are a helpful assistant. Provide a clear and concise response. 最初の引数は、プロバイダー、モデル、エンドポイント、APIキーを指定する名前付きコレクションです。 構文
別名: AIGenerate 引数
  • collection — provider credentials と configuration を含む named collection の名前。String
  • prompt — モデルに送信するユーザーのプロンプトまたは質問。String
  • system_prompt — モデルの動作を導く任意の固定のシステムレベル命令 (例: ペルソナ、出力フォーマット) 。各プロンプトとともに送信されます。String
  • temperature — ランダム性を制御するサンプリング温度。デフォルト: 0.7Float64
戻り値 生成されたテキスト応答。リクエストが失敗し、ai_function_throw_on_error が無効な場合は、カラム型のデフォルト値 (空文字列) が返されます。String 簡単な質問
Query
Response
システムプロンプトあり
Query
Response
カラム値を要約
Query
Response

aiTranslate

導入バージョン: v26.4.0 指定したテキストを、LLMプロバイダーを使用して指定した対象言語に翻訳します。 文体や方言に関する追加の指示は、第4引数として渡せます (例: 'keep technical terms untranslated') 。 最初の引数は、プロバイダー、モデル、エンドポイント、API key を指定する named collection です。 構文
別名: AITranslate 引数
  • collection — provider credentials と configuration を含む名前付きコレクションの名前。String
  • text — 翻訳するテキスト。String
  • target_language — 翻訳先言語の名前または BCP-47 コード (例: 'French''es-MX') 。String
  • instructions — 翻訳者への追加指示 (任意の定数) 。String
  • temperature — ランダム性を制御するサンプリング温度。デフォルト: 0.3Float64
戻り値 翻訳されたテキスト、またはリクエストが失敗し、ai_function_throw_on_error が無効な場合はカラム型のデフォルト値 (空文字列) 。String フランス語に翻訳
Query
Response
スタイル指示に従って日本語に翻訳してください
Query
Response
最終更新日 2026年6月19日