ai_extract
関数
適用対象: Databricks SQL
Databricks Runtime
重要
この機能はパブリック プレビュー段階にあります。
このプレビューでは:
- 基になる言語モデルでは複数の言語を処理できますが、これらの関数は英語用にチューニングされています。
- 基になる Foundation Model API にはレート制限があります。 これらの制限を更新するには、「Foundation Model API の制限」を参照してください。
ai_extract()
関数を使うと、最先端の生成 AI モデルを呼び出し、SQL を使って特定のテキストからラベルで指定されたエンティティを抽出できます。 この関数では、Databricks Foundation Model API で使用できるエンドポイントを提供するチャット モデルを使用します。
要件
重要
現時点で使用できる基になるモデルは、Apache 2.0 ライセンスまたは Llama 2 Community License に基づいてライセンス付与されます。 Databricks では、該当する使用条件に準拠するために、これらのライセンスを確認することをお勧めしています。 将来、Databricks の内部ベンチマークに従ってパフォーマンスが向上するモデルが開発された場合、Databricks によってモデルが変更される可能性があります (変更に伴い、このページで提供されている該当するライセンスの一覧も変更されます)。
現在、Mixtral-8x7B 指示は、これらの AI 関数を実行する基になるモデルとなっています。
- この関数は、Foundation Model API のトークンごとの支払いがサポートされているリージョンのワークスペースでのみ使用できます。
- この関数は、Azure Databricks SQL クラシックでは使用できません。
- Databricks SQL の価格ページを確認してください。
Note
Databricks Runtime 15.1 以降では、この機能は、Databricks ワークフローのタスクとして実行されるノートブックなどの Databricks ノートブックでサポートされています。
構文
ai_extract(content, labels)
引数
content
:STRING
式。labels
:ARRAY<STRING>
リテラル。 各要素は、抽出するエンティティの種類です。
返品
各フィールドが labels
で指定されているエンティティ型に対応する STRUCT
。 各フィールドには、抽出されたエンティティを表す文字列が含まれます。 あるエンティティ型の候補が複数見つかった場合は、1 つだけ返されます。
content
が NULL
の場合、結果は NULL
です。
例
> SELECT ai_extract(
'John Doe lives in New York and works for Acme Corp.',
array('person', 'location', 'organization')
);
{"person": "John Doe", "location": "New York", "organization": "Acme Corp."}
> SELECT ai_extract(
'Send an email to jane.doe@example.com about the meeting at 10am.',
array('email', 'time')
);
{"email": "jane.doe@example.com", "time": "10am"}