API 요청

등록된 모델에 요청을 하고 응답을 받는 과정을 설명합니다.

API 환경

현재 mlflow 환경만 지원합니다.

MLflow

mlflow inference server에서는 아래와 같은 url을 제공합니다.

  • /invocations: inference 경로입니다. 인풋 데이터를 POST 요청을 통해 전달하고 추론 결과를 반환합니다.

  • /ping: health checks 위해 사용합니다.

  • /health: /ping 동일합니다.

  • /version: MLflow 버전을 반환합니다.

더 자세한 내용은 아래 페이지를 참고해주세요.

https://mlflow.org/docs/latest/deployment/deploy-model-locally.html#inference-server-specification

API 요청하기

요청을 할 때, API Key를 통해 요청해야 합니다. 그렇지 않은 경우 승인되지 않은 요청으로 해당 요청을 처리하지 않습니다.

API 정보에서 API URL을 확인할 수 있습니다. 이 곳에서 확인한 URL 뒤에 경로를 추가하여 사용할 수 있습니다.

MLflow 요청하기

위에서 확인한 API URL 뒤에 경로를 추가하여 요청할 수 있습니다. 아래에서 몇가지 예시를 설명합니다.

  • /ping 요청을 하는 경우

    • API URL 뒤에 /ping을 추가하여 요청합니다.

    • https://api-cloud-function.elice.io/2ff51a26-9c2d-414c-86dc-56ae903291a5

    • /ping

  • 추론 요청을 하는 경우

    • API URL 뒤에 /invocations를 추가하여 요청합니다.

    • https://api-cloud-function.elice.io/2ff51a26-9c2d-414c-86dc-56ae903291a5/invocations

만약 curl 명령을 통해 요청한다면 아래와 같은 형태가 될 것 입니다.

curl --location 'https://api-cloud-function.elice.io/{{api_id}}/invocations' \
  --header 'Authorization: Bearer {{api_key}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "inputs": [ {{your_data}} ]
  }'

MLflow에서 허용하는 데이터 형태에 대해 확인하려면 아래 문서를 참고해주시기 바랍니다. https://mlflow.org/docs/latest/deployment/deploy-model-locally.html#accepted-input-formats

Last updated