Share via


Fråga en hanterad modell med ai_query()

Viktigt!

Den här funktionen finns som allmänt tillgänglig förhandsversion.

Den här artikeln beskriver hur du frågar en modell som betjänar slutpunkten från SQL med ai_query().

Vad är ai_query()?

Funktionen ai_query() är en inbyggd Azure Databricks SQL-funktion, en del av AI-funktioner. Den gör att dessa typer av modeller kan nås från SQL-frågor:

  • Anpassade modeller som hanteras av en modell som betjänar slutpunkten.
  • Modeller som hanteras av Databricks Foundation-modell-API:er.
  • Externa modeller (tredjepartsmodeller som finns utanför Databricks).

Syntax- och designmönster finns i ai_query funktion.

När den här funktionen används för att fråga en modell som betjänar slutpunkten är den endast tillgänglig i arbetsytor och regioner där modellservern är tillgänglig och aktiverad.

Krav

Fråga slutpunkten med ai_query()

Du kan köra frågor mot modellen bakom slutpunkten med hjälp av ai_query() serverlösa eller pro SQL-lager. För bedömning av begäran- och svarsformat, se Frågegrundsmodeller.

Kommentar

  • För Databricks Runtime 14.2 och senare stöds den här funktionen i notebook-miljöer, inklusive Databricks-notebook-filer och arbetsflöden.
  • För Databricks Runtime 14.1 och nedan stöds inte den här funktionen i notebook-miljöer, inklusive Databricks-notebook-filer.

Exempel: Fråga efter en stor språkmodell

I följande exempel frågar modellen bakom sentiment-analysis slutpunkten med datauppsättningen text och anger returtypen för begäran.

SELECT text, ai_query(
    "sentiment-analysis",
    text,
    returnType => "STRUCT<label:STRING, score:DOUBLE>"
  ) AS predict
FROM
  catalog.schema.customer_reviews

Exempel: Fråga en förutsägelsemodell

I följande exempel efterfrågas en klassificeringsmodell bakom spam-classification slutpunkten för att batchvis förutsäga om text är skräppost i inbox_messages tabellen. Modellen tar tre indatafunktioner: tidsstämpel, avsändare, text. Modellen returnerar en boolesk matris.

SELECT text, ai_query(
  endpoint => "spam-classification",
  request => named_struct(
    "timestamp", timestamp,
    "sender", from_number,
    "text", text),
  returnType => "BOOLEAN") AS is_spam
FROM catalog.schema.inbox_messages