Een query uitvoeren op een extern model met ai_query()
Notitie
Deze functie is beschikbaar als openbare preview. Als u query's wilt uitvoeren op eindpunten die externe modellen leveren, moet u zich inschrijven in de openbare preview. Vul het inschrijvingsformulier voor openbare preview-versie van AI Functions in en verzend het.
In dit artikel wordt uitgelegd hoe u een extern modeleindpunt instelt en opvraagt met behulp van de ingebouwde Databricks SQL-functie ai_query()
. In het voorbeeld wordt ondersteuning voor externe modellen gebruikt in Mosaic AI Model Serving om query's gpt-4
uit te voeren op basis van OpenAI en chattaken uit te voeren. Zie AI-functies in Azure Databricks voor meer informatie over deze AI-functie.
Vereisten
- Zie de vereisten van ai_query SQL-functie.
- Een OpenAI API-sleutel.
- Sla de sleutel op in een Databricks-geheim. In dit voorbeeld slaat u de API-sleutel op in het bereik
my-external-model
en geheimopenai
.
Een extern modeleindpunt maken
Hieronder wordt een extern model gemaakt voor eindpunten dat OpenAI gpt-4
dient voor een chattaak.
Zie Verificatie voor Databricks-automatisering om een persoonlijk toegangstoken te maken.
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))
Een query uitvoeren op het externe model met ai_query()
In de Sql-queryeditor van Databricks kunt u SQL-query's schrijven om een query uit te voeren op het eindpunt van het externe model.
Voorbeeldquery's:
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