Interroger un modèle externe avec ai_query()
Remarque
Cette fonctionnalité est disponible en préversion publique. Pour interroger des points de terminaison qui servent des modèles externes, vous devez vous inscrire à la préversion publique. Merci de compléter et d’envoyer le formulaire d’inscription à la préversion publique des Fonctions IA.
Cet article illustre comment configurer et interroger un point de terminaison de modèle externe en tirant parti de la fonction ai_query()
Databricks SQL intégrée. L’exemple utilise une prise en charge des modèles externes dans le Service de modèles Mosaic AI pour interroger gpt-4
fourni par OpenAI et effectuer des tâches de conversation. Si vous souhaitez obtenir plus d’informations sur cette fonction IA, consultez Fonctions IA sur Azure Databricks.
Spécifications
- Consultez les exigences de la Fonction SQL ai_query.
- Une clé API OpenAI.
- Stockez la clé dans un secret Databricks. Dans cet exemple, vous stockez la clé API dans l’étendue
my-external-model
et le secretopenai
.
Créer un point de terminaison de modèle externe
L’opération suivante crée un point de terminaison de service de modèle externe qui sert OpenAI gpt-4
pour une tâche de conversation.
Pour créer un jeton d’accès personnel, voir Authentification pour l’automatisation 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))
Interroger le modèle externe avec ai_query()
Dans l’éditeur de requête Databricks SQL, vous pouvez écrire des requêtes SQL pour interroger le point de terminaison de service de modèle externe.
Exemples de requêtes :
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