外部モデルのクエリ ai_query
備考
プレビュー
この機能は パブリック プレビュー段階です。 外部モデル を提供するエンドポイントをクエリするには、Databricks プレビュー UI で[カスタムモデル] と [外部モデル] の AI を有効にします。
この記事では、組み込みの Databricks SQL 関数 ai_query()
を使用して外部モデル エンドポイントを設定し、クエリを実行する方法について説明します。この例では、 Mosaic AI Model Serving の外部モデルサポートを使用して、OpenAI によって提供されるgpt-4
クエリを実行し、チャット タスクを実行します。 DatabricksAI FunctionsこのAI 関数の詳細については 、 の を参照してください。
必要条件
- ai_query SQL 関数の要件を参照してください。
- OpenAI API キー。
- キーを Databricks シークレットに格納します。 この例では、 API キーをスコープ
my-external-model
に格納し、 シークレット を格納openai
。
外部モデルエンドポイントの作成
次の例では、チャット タスクの OpenAI gpt-4
を提供する外部モデルサービング エンドポイントを作成します。
個人用アクセス トークンを作成するには、「 Databricks 自動化の認証」を参照してください。
Python
import requests
import json
personal_access_token = "your-personal-access-token"
headers = {
"Authorization": "Bearer " + personal_access_token,
}
host = "https://oregon.cloud.databricks.com/"
url = host + "api/2.0/serving-endpoints"
data = {
"name": "my-external-openai-chat",
"config": {
"served_entities": [
{
"name": "my_entity",
"external_model": {
"name": "gpt-4",
"provider": "openai",
"openai_config": {
"openai_api_key": "{{secrets/my-external-model/openai}}",
},
"task": "llm/v1/chat",
},
}
],
},
}
response = requests.post(url, headers=headers, json=data)
print("Status Code", response.status_code)
print("JSON Response ", json.dumps(json.loads(response.text), indent=4))
ai_query() を使用して外部モデルをクエリします。
Databricks SQL クエリー エディターでは、外部モデルのサービングエンドポイントをクエリーするためのSQL クエリーを記述できます。
クエリの例:
SQL
SELECT ai_query(
"my-external-openai-chat",
"What is a large language model?"
)
SELECT question, ai_query(
"my-external-openai-chat",
"You are a customer service agent. Answer the customer's question in 100 words: " || question
) AS answer
FROM
uc_catalog.schema.customer_questions
SELECT
sku_id,
product_name,
ai_query(
"my-external-openai-chat",
"You are a marketing expert for a winter holiday promotion targeting GenZ. Generate a promotional text in 30 words mentioning a 50% discount for product: " || product_name
)
FROM
uc_catalog.schema.retail_products
WHERE
inventory > 2 * forecasted_sales