Consultar um modelo servido com ai_query()

Importante

Esse recurso está em uma versão prévia.

Esse artigo descreve como consultar um ponto de extremidade de serviço de modelo do SQL com ai_query().

O que é ai_query()?

A função ai_query() é uma função SQL interna do Azure Databricks, parte das funções de IA. Ela permite que esses tipos de modelos sejam acessíveis a partir de consultas SQL:

  • Modelos personalizados hospedados por um ponto de extremidade de serviço de modelo.
  • Modelos hospedados pelas APIs de Modelo de Fundação do Databricks.
  • Modelos externos (modelos de terceiros hospedados fora do Databricks).

Para obter padrões de sintaxe e design, consulte função ai_query.

Quando essa função é usada para consultar um ponto de extremidade de serviço de modelo, ela só está disponível em workspaces e regiões nas quais o Serviço de Modelo está disponível e habilitado.

Requisitos

Consultar o URI do ponto de extremidade com ai_query()

Você pode consultar o modelo por trás do ponto de extremidade usando ai_query() em warehouses SQL profissionais ou sem servidor. Para pontuar formatos de solicitação e resposta, consulte Consultar modelos de IA generativa.

Observação

  • Para o Databricks Runtime 14.2 e superior, esta função é compatível com ambientes de notebook, incluindo notebooks e trabalhos do Databricks.
  • Para o Databricks Runtime 14.1 e abaixo, esta função não tem suporte em ambientes de notebook, incluindo notebooks do Databricks.

Exemplo: consultar um grande modelo de linguagem

O exemplo a seguir consulta o modelo por trás do ponto de extremidade sentiment-analysis com o conjunto de dados text e especifica o tipo de retorno da solicitação.

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

Exemplo: consultar um modelo preditivo

O exemplo a seguir consulta um modelo de classificação por trás do ponto de extremidade spam-classification para prever em lote se o text é spam na tabela inbox_messages. O modelo usa três recursos de entrada: carimbo de data/hora, remetente, texto. O modelo retorna uma matriz booliana.

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