다음을 통해 공유


Azure Machine Learning Service와 Azure Database for PostgreSQL 통합

Azure AI 확장은 SQL 내에서 Azure Machine Learning 온라인 엔드포인트에 배포된 모든 기계 학습 모델을 호출하는 기능을 제공합니다. 이러한 모델은 Azure Machine Learning 카탈로그 또는 학습시켜 배포한 사용자 지정 모델에서 사용할 수 있습니다.

필수 조건

참고 항목

Azure Machine Learning 예제를 살펴볼 수 있습니다.

Azure Machine Learning 엔드포인트 구성

Azure Machine Learning 스튜디오의 엔드포인트>엔드포인트 선택>사용에서 온라인 엔드포인트에 대한 엔드포인트 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 Machine Learning 모델 배포를 호출하는 입력 데이터의 점수를 지정합니다.

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

text Azure Machine Learning 온라인 추론 엔드포인트에 배포된 모델에 해당하는 배포의 이름

timeout_ms

integer DEFAULT NULL 작업이 중지된 후의 시간 제한(밀리초)입니다. 모델 자체의 배포에는 사용자 정의 함수의 시간 제한 매개 변수보다 낮은 값으로 지정된 시간 제한이 있을 수 있습니다. 이 시간 제한을 초과하면 채점 작업이 실패합니다.

throw_on_error

boolean DEFAULT true 오류가 발생하면 함수가 예외를 발생시켜 래핑 트랜잭션이 롤백됩니다.

max_attempts

integer DEFAULT 1 다시 시도 가능한 오류로 인해 실패하는 경우 확장이 Azure Machine Learning 엔드포인트 호출을 다시 시도하는 횟수

retry_delay_ms

integer DEFAULT 1000 다시 시도 가능한 오류로 인해 실패하는 경우 확장이 Azure Machine Learning 엔드포인트를 호출하기 전에 확장이 대기하는 시간(밀리초)

반환 형식

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' )