Consulta de un modelo externo con ai_query()
Nota:
Esta característica está en versión preliminar pública. Para consultar los puntos de conexión que atienden modelos externos, debe inscribirse en la versión preliminar pública. Rellene y envíe el formulario de inscripción de la versión preliminar pública de AI Functions.
En este artículo se muestra cómo configurar y consultar un punto de conexión de modelo externomediante la función SQL de Databricks integradaai_query()
. En el ejemplo se usa la compatibilidad con los modelos externos de Mosaic AI Model Serving para consultar los valores gpt-4
proporcionados por OpenAI y realizar tareas de chat. Consulte AI Functions en Azure Databricks para más información acerca de esta función de IA.
Requisitos
- Consulte los requisitos de ai_query función SQL.
- Una clave de API de OpenAI.
- Almacene la clave en una secreto de Databricks. En este ejemplo se almacena la clave de API en el ámbito
my-external-model
y en el secretoopenai
.
Creación de un punto de conexión de modelo externo
A continuación se crea un modelo externo que sirve un punto de conexión que sirve a OpenAI gpt-4
para una tarea de chat.
Para crear un token de acceso personal, consulte Autenticación para la automatización de 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))
Consulta del modelo externo con ai_query()
En el editor de consultas SQL de Databricks, puede escribir consultas SQL para consultar el punto de conexión de servicio del modelo externo.
Consultas de ejemplo:
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