Dela 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(). För användningsfall med över 100 rader data rekommenderar Databricks att du använder ai_query med en etablerad dataflödesslutpunkt. Se Utföra batch-LLM-slutsatsdragning med hjälp av 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 -modellserveringsslutpunkt, är den endast tillgänglig i de arbetsytor och regioner där whereModel Serving ä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 Query Foundation-modeller.

Kommentar

  • För Databricks Runtime 14.2 och senare stöds den här funktionen i notebook-miljöer, inklusive Databricks-notebook-filer och jobb.
  • 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
LIMIT 10

Exempel: Fråga en förutsägelsemodell

I följande exempel används en klassificeringsmodell bakom slutpunkten spam-classification för att batchförutsäga om text är skräppost i inbox_messagestable. 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
LIMIT 10