你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 Azure Database for PostgreSQL 与 Azure 机器学习服务集成

Azure AI 扩展允许从 SQL 中调用 Azure 机器学习联机终结点上部署的任何机器学习模型。 这些模型可以来自 Azure 机器学习目录或训练和部署的自定义模型。

先决条件

注意

你可以探索 Azure 机器学习示例

配置 Azure 机器学习终结点

在 Azure 机器学习工作室中,在“终结点”>“选择终结点”>“使用”下,你可以找到联机终结点的终结点 URI 和密钥。 请使用这些值配置 azure_ai 扩展以使用联机推理终结点。

select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');

azure_ml.invoke

调用联机终结点上部署的 Azure 机器学习模型对输入数据进行评分。

azure_ml.invoke(input_data jsonb, timeout_ms integer DEFAULT NULL, throw_on_error boolean DEFAULT true, deployment_name text DEFAULT NULL)

参数

input_data

包含模型的请求有效负载的 jsonb json。

deployment_name

与 Azure 机器学习联机推理终结点上部署的模型对应的部署的 text 名称

timeout_ms

操作停止之前的 integer DEFAULT NULL 超时(以毫秒为单位)。 模型本身的部署指定的超时值可能低于用户定义函数中的超时参数。 如果超出了此超时值,评分操作将失败。

throw_on_error

如果函数引发导致包装事务回滚的异常,则在出错时为 boolean DEFAULT true

max_attempts

如果扩展失败并出现任何可重试错误,则 integer DEFAULT 1 扩展会重试调用 Azure 机器学习终结点的次数。

retry_delay_ms

integer DEFAULT 1000 扩展在调用 Azure 机器学习终结点之前等待的时间(毫秒),当扩展失败并出现任何可重试错误时。

返回类型

JSONB 中调用的模型的 jsonb 评分输出。

示例

调用机器学习模型

这将使用 input_data 来调用模型并返回 jsonb 有效负载。

-- Invoke model, input data depends on the model.
  SELECT * FROM azure_ml.invoke('
  {
    "input_data": [
      [1,2,3,4,5,6,7,8],
      [-1,-2,-3,-4,-5,-6,-7,-8]
    ],
    "params": {}
  }', deployment_name=>'Housingprediction' )

-- Get JSON elements from model output
SELECT jsonb_array_elements(invoke.invoke) as MedianHousePrediction
FROM azure_ml.invoke('
{
  "input_data": [
    [1,2,3,4,5,6,7,8],
    [-1,-2,-3,-4,-5,-6,-7,-8]
  ],
 "params": {}
}', deployment_name=>'Housingprediction' )