ai_query
-functie
Van toepassing op: Databricks SQL
Belangrijk
Deze functie is beschikbaar als openbare preview.
Roept een bestaand Azure Databricks Model Serving-eindpunt aan en parseert en retourneert het antwoord.
Vereisten
- Deze functie is niet beschikbaar in Azure Databricks SQL Classic.
- Query's uitvoeren op Foundation Model-API's is standaard ingeschakeld. Als u een query wilt uitvoeren op eindpunten die aangepaste modellen of 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.
Syntaxis
Een query uitvoeren op een eindpunt dat een extern model of een basismodel dient:
ai_query(endpointName, request)
Ga als volgende te werk om een query uit te voeren op een aangepast model voor eindpunten:
ai_query(endpointName, request, returnType)
Argumenten
endpointName
: Een letterlijke tekenreeks, de naam van het bestaande Databricks Model Serving-eindpunt in dezelfde werkruimte voor aanroepen. De definitier moet de machtiging CAN QUERY hebben voor het eindpunt.request
: Een expressie, de aanvraag die wordt gebruikt om het eindpunt aan te roepen.- Als het eindpunt een extern model is dat een eindpunt of Databricks Foundation Model-API-eindpunt biedt, moet de aanvraag een TEKENREEKS zijn.
- Als het eindpunt een aangepast model voor eindpunt is, kan de aanvraag één kolom of een struct-expressie zijn. De veldnamen van de struct moeten overeenkomen met de namen van invoerfuncties die door het eindpunt worden verwacht.
returnType
: Een expressie, het verwachte returnType van het eindpunt. Dit is vergelijkbaar met de schemaparameter in from_json functie, die zowel een tekenreeksexpressie als aanroep van schema_of_json functie accepteert. Vereist voor het uitvoeren van query's op een aangepast eindpunt voor modelverdiening.
Retouren
Het geparseerde antwoord van het eindpunt.
Voorbeelden
Een query uitvoeren op een extern model voor eindpunt of Databricks Foundation-model:
> SELECT ai_query(
'my-external-model-openai-chat',
'Describe Databricks SQL in 30 words.'
) AS summary
"Databricks SQL is a cloud-based platform for data analytics and machine learning, providing a unified workspace for collaborative data exploration, analysis, and visualization using SQL queries."
> CREATE FUNCTION correct_grammar(text STRING)
RETURNS STRING
RETURN ai_query(
'databricks-llama-2-70b-chat',
CONCAT('Correct this to standard English:\n', text));
> GRANT EXECUTE ON correct_grammar TO ds;
- DS fixes grammar issues in a batch.
> SELECT
* EXCEPT text,
correct_grammar(text) AS text
FROM articles;
Een query uitvoeren op een aangepast eindpunt voor het leveren van modellen:
> SELECT text, ai_query(
endpoint => 'spam-classification-endpoint',
request => named_struct(
'timestamp', timestamp,
'sender', from_number,
'text', text),
returnType => 'BOOLEAN') AS is_spam
FROM messages
> SELECT ai_query(
'weekly-forecast',
request => struct(*),
returnType => 'FLOAT') AS predicted_revenue
FROM retail_revenue
> SELECT ai_query(
'custom-llama-2-7b-chat',
request => named_struct("messages",
ARRAY(named_struct("role", "user", "content", "What is ML?"))),
returnType => 'STRUCT<candidates:ARRAY<STRING>>')
{"candidates":["ML stands for Machine Learning. It's a subfield of Artificial Intelligence that involves the use of algorithms and statistical models to enable machines to learn from data, make decisions, and improve their performance on a specific task over time."]}