ai_query()로 외부 모델 쿼리하기
참고 항목
이 기능은 공개 미리 보기 상태입니다. 외부 모델을 제공하는 엔드포인트를 쿼리하려면 공개 미리 보기에 등록해야 합니다. AI Functions 공개 미리 보기 등록 양식을 채우고 제출하세요.
이 문서에서는 기본 제공 Databricks SQL 함수ai_query()
를 사용하여 외부 모델 엔드포인트를 설정하고 쿼리하는 방법을 보여 줍니다. 이 예제에서는 Mosaic AI Model Serving의 외부 모델 지원을 사용하여 OpenAI에서 제공하는 쿼리 gpt-4
를 수행하고 채팅 작업을 수행합니다. 이 AI 함수에 대한 자세한 내용은 Azure Databricks의 AI 함수를 참조하세요.
요구 사항
- ai_query SQL 함수의 요구 사항을 참조하세요.
- OpenAI API 키입니다.
- Databricks 비밀에 키를 저장합니다. 이 예제에서는 범위 및 비밀
openai
에 API 키를 저장합니다.my-external-model
외부 모델 엔드포인트 만들기
다음은 채팅 작업에 대해 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