- カテゴリ:
:doc:`/sql-reference/functions-string`(AI 関数)
AI_COMPLETE (単一文字列)¶
注釈
AI_COMPLETE は COMPLETE (SNOWFLAKE.CORTEX) の更新されたバージョンです。最新の関数については、 AI_COMPLETE を使用してください。
サポートされている言語モデルを使用して、テキストプロンプトに対する応答(補完)を生成します。
構文¶
この関数には2つの必要な引数と4つのオプションの引数があります。この関数は、位置引数または名前付き引数の構文で使用することができます。
単一文字列入力での AI_COMPLETE の使用
引数¶
model使用するモデルを指定する文字列。以下のモデルのいずれかを指定してください。
claude-4-opusclaude-4-sonnetclaude-3-7-sonnetclaude-3-5-sonnetdeepseek-r1llama3-8bllama3-70bllama3.1-8bllama3.1-70bllama3.1-405bllama3.3-70bllama4-maverickllama4-scoutmistral-largemistral-large2mistral-7bmixtral-8x7bopenai-gpt-4.1openai-o4-minisnowflake-arcticsnowflake-llama-3.1-405bsnowflake-llama-3.3-70b
サポートされるモデルでは、 コスト が異なる可能性があります。
prompt文字列プロンプト
model_parametersモデルのハイパーパラメーターに影響を与える以下のオプションを0個以上を含む オブジェクト。LLM設定 をご参照ください。
temperature: 言語モデルの出力のランダム性を制御する0から1まで(各値を含む)の値。温度が高いほど(例:0.7)出力はより多様でランダムになり、温度が低いほど(例:0.2)、出力はより決定論的で焦点が絞られます。デフォルト:0
top_p: 言語モデルのランダム性と多様性を制御する0から1まで(各値を含む)の値。通常、temperatureの代替として使用されます。相違は、top_pがモデルにより出力される可能性のあるトークンのセットを制限するのに対して、temperatureは各ステップでどのトークンが選択されるのかに影響を及ぼすという点です。デフォルト:0
max_tokens: 応答に含まれる出力トークンの最大数を設定します。値が小さいと、応答が切り詰められることがあります。デフォルト値:4096 最大許容値:8192
guardrails:Cortex Guard を使用して、言語モデルから潜在的に安全ではない、有害な応答をフィルターします。TRUE または FALSE のいずれか。デフォルト: FALSE
response_format応答が続く必要のある形式。応答形式を次のように指定できます。
応答が続く必要がある `JSON スキーマ<https://json-schema.org/>`_ 。これは文字列ではなく、 SQL サブオブジェクト。
TYPE キーワードで始まる SQL 型リテラル。この型は、トップレベルのコンテナタイプとして OBJECT を使用する必要があります。この OBJECT のフィールドは対応する JSON フィールドと値にマッピングされます。
response_formatが指定されていない場合、応答は、応答または応答とその情報を含むシリアル化された JSON オブジェクトのいずれかを含む文字列です。詳細については、 AI_COMPLETE 構造化出力 をご参照ください。
show_details応答とその情報を含む JSON オブジェクトをシリアル化して返すかどうかを示すブールフラグ。
戻り値¶
show_details 引数が指定されていない、または FALSE に設定されている、および response_format が指定されていない、または NULL に設定されている場合、応答を含む文字列を返します。
show_details 引数が指定されていないか、 FALSE に設定されており、 response_format が指定されている場合、指定された応答形式に従ったオブジェクトを返します。
show_details 引数が TRUE に設定され、 response_format が指定されていない場合、以下のキーを含む JSON オブジェクトを返します。
"choices": モデルの応答の配列。(現在、提供される応答は1つのみ。)各応答は"messages"キーを含むオブジェクトで、その値は最新のプロンプトに対するモデルの応答です。"created": 応答が生成された UNIX タイムスタンプ(1970年1月1日午前0時からの秒数)。"model": 応答を作成したモデルの名前。"usage": この完了によって消費され、生成されたトークンの数を記録するオブジェクト。以下のサブキーを含みます。"completion_tokens": 生成された応答のトークンの数。"prompt_tokens": プロンプトのトークンの数。"total_tokens": 他の値2つの合計である、消費されたトークンの合計数。
show_details 引数が TRUE に設定され、 response_format を指定されている場合、以下のキーを含む JSON オブジェクトを返します。
"structured_output": 指定された応答形式に従うJSONオブジェクト。"created": 応答が生成された UNIX タイムスタンプ(1970年1月1日午前0時からの秒数)。"model": 応答を作成したモデルの名前。"usage": この完了によって消費され、生成されたトークンの数を記録するオブジェクト。以下のサブキーを含みます。"completion_tokens": 生成された応答のトークンの数。"prompt_tokens": プロンプトのトークンの数。"total_tokens": 他の値2つの合計である、消費されたトークンの合計数。
例¶
単一応答¶
単一応答を生成するには、
テーブル列からの応答¶
以下の例では、 content 列を入力として、 reviews テーブルの各行に対する応答を生成しています。各クエリ結果には、対応するレビューの批評が含まれています。
Tip
この例で示すように、プロンプトのタグ付けを使用して、生成される応答の種類を制御することができます。ヒントについては、 LLaMA 2プロンプトのガイド をご参照ください。
モデルパラメーターの制御¶
以下の例では、応答の提供に使用される model_parameters を指定します。
応答は、言語モデルからのメッセージとその他の情報を含む文字列です。応答は、 model_parameters 引数での指示に従って切り捨てられることに注意してください。
詳細な出力¶
次の例は、 show_details 引数を使用して追加の推論の詳細を返す方法を示しています。
応答は、モデルのメッセージと関連する詳細を含む JSON オブジェクトです。options 引数は出力の切り捨てに使用されました。
JSON 応答形式の指定¶
この例では、型リテラルを指定することで構造化された応答を返す関数の response_format 引数の使用について説明しています。
応答は構造化応答形式に従う JSON オブジェクトです。
応答:
型リテラルを使用した、詳細を含む JSON 応答フォーマットの指定¶
この例では、 response_format 引数を使用して show_details と組み合わせて構造化された応答を返し、型リテラルを使用して追加の推論情報を得る方法を説明しています。
応答は、追加の推論メタデータが配置された構造化された応答を含む JSON オブジェクトです。
JSON スキーマを使用した、詳細を含む JSON 応答フォーマットの指定¶
この例では、 JSON スキーマを使って、構造化された応答を返す関数の response_format 引数と show_details を組み合わせてその他の推論情報を得る方法を説明しています。
応答は、追加の推論メタデータが配置された構造化された応答を含むJSONオブジェクトです。