使用ai_query查詢外部模型()
注意
這項功能處於公開預覽狀態。 若要查詢服務 外部模型的端點,您必須在公開預覽版中註冊。 請填入並提交 AI Functions 公開預覽註冊表單。
本文說明如何使用內建 Databricks SQL ai_query()
函式來設定及查詢外部模型端點。 此範例使用馬賽克 AI 模型服務中的外部模型支持來查詢 OpenAI 所提供的查詢 gpt-4
,並完成聊天工作。 如需此 AI 函式的詳細資訊,請參閱 Azure Databricks 上的 AI Functions。
需求
- 請參閱 sql 函式ai_query的需求。
- OpenAI API 金鑰。
- 將金鑰儲存在 Databricks 秘密中。 在此範例中,您會將 API 金鑰儲存在範圍
my-external-model
和秘密openai
中。
建立外部模型端點
下列會建立提供端點的外部模型,以提供 OpenAI gpt-4
的聊天工作。
若要建立個人存取令牌,請參閱 Databricks 自動化的驗證。
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 查詢來查詢外部模型服務端點。
範例查詢:
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
其他資源
- Azure Databricks 上的 AI Functions。
- 使用 ai_query查詢服務模型。