다음을 통해 공유


사용자 지정 범주(빠른) API 사용(미리 보기)

사용자 지정 범주(빠름) API를 사용하면 새로운 유해한 콘텐츠 인시던트에 신속하게 대응할 수 있습니다. 특정 항목에 대한 몇 가지 예를 사용하여 인시던트를 정의하면 서비스가 유사한 콘텐츠를 검색하기 시작합니다.

다음 단계에 따라 텍스트 콘텐츠의 몇 가지 예를 사용하여 인시던트를 정의한 다음 새 텍스트 콘텐츠를 분석하여 인시던트와 일치하는지 확인합니다.

Important

이 새로운 기능은 일부 Azure 지역에서만 사용할 수 있습니다. 지역 가용성을 참조하세요.

주의

이 가이드의 샘플 데이터에는 불쾌한 콘텐츠가 포함되어 있을 수 있습니다. 사용자의 재량에 따라 결정하는 것이 좋습니다.

필수 조건

  • Azure 구독 - 체험 구독 만들기
  • Azure 구독이 있으면 Azure Portal에서 콘텐츠 안전 리소스를 생성하여 키와 엔드포인트를 가져옵니다. 리소스의 고유한 이름을 입력하고 구독을 선택한 다음 리소스 그룹, 지원되는 지역(지역 가용성 참조) 및 지원되는 가격 책정 계층을 선택합니다. 다음으로 만들기를 선택합니다.
    • 리소스를 배포하는 데 몇 분 정도 걸립니다. 완료되면 리소스로 이동을 선택합니다. 왼쪽 창의 리소스 관리에서 구독 키 및 엔드포인트를 선택합니다. 엔드포인트와 키 중 하나는 API를 호출하는 데 사용됩니다.
  • 또한 이미지를 업로드하려면 Blob Storage 컨테이너를 만듭니다. 또는 이미지를 Base64 문자열로 인코딩하여 API 호출에서 직접 사용할 수도 있습니다.
  • 다음 중 하나가 설치되었습니다.
    • REST API 호출을 위한 cURL.
    • Python 3.x가 설치되었습니다.

텍스트 사용자 지정 범주(빠름) API 테스트

이 섹션의 샘플 코드를 사용하여 텍스트 인시던트를 만들고, 인시던트에 샘플을 추가하고, 인시던트를 배포한 다음, 텍스트 인시던트를 검색합니다.

인시던트 개체 만들기

아래 명령에서 <your_api_key>, <your_endpoint> 및 기타 필수 매개 변수를 사용자 고유의 값으로 바꿉니다.

다음 명령은 이름과 정의를 사용하여 인시던트를 만듭니다.

curl --location --request PATCH 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{ \"incidentName\": \"<test-incident>\", \"incidentDefinition\": \"<string>\"}'

인시던트에 샘플 추가

인시던트에 텍스트 예를 추가하려면 다음 명령을 사용합니다.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  \"IncidentSamples\": [
    { \"text\":    \"<text-example-1>\"},
    { \"text\":    \"<text-example-2>\"},
    ...
  ]
}'

인시던트 배포

다음 명령을 사용하여 인시던트를 배포하고 새 콘텐츠 분석에 사용할 수 있도록 합니다.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' 

텍스트 인시던트 검색

방금 배포한 인시던트에 대한 샘플 텍스트 콘텐츠를 분석하려면 다음 명령을 실행합니다.

curl --location 'https://<endpoint>/contentsafety/text:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"text\":  \"<test-text>\",
  \"incidentNames\": [
    \"<text-incident-name>\"
  ]
}'

이미지 사용자 지정 범주(빠름) API 테스트

이 섹션의 샘플 코드를 사용하여 이미지 인시던트를 만들고, 인시던트에 샘플을 추가하고, 인시던트를 배포한 다음, 이미지 인시던트를 검색합니다.

인시던트 만들기

아래 명령에서 <your_api_key>, <your_endpoint> 및 기타 필수 매개 변수를 사용자 고유의 값으로 바꿉니다.

다음 명령은 이미지 인시던트를 만듭니다.

curl --location --request PATCH 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"incidentName\": \"<image-incident-name>\"
}'

인시던트에 샘플 추가

다음 명령을 사용하여 인시던트에 예 이미지를 추가합니다. 이미지 샘플은 Azure Blob Storage 컨테이너의 이미지를 가리키는 URL이거나 Base64 문자열일 수 있습니다.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"IncidentSamples\": [
    {
      \"image\": {
        \"content\": \"<base64-data>\",
        \"bloburl\": \"<your-blob-storage-url>.png\"
      }
    }
  ]
}'

인시던트 배포

다음 명령을 사용하여 인시던트를 배포하고 새 콘텐츠 분석에 사용할 수 있도록 합니다.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' 

이미지 인시던트 검색

다음 명령을 사용하여 샘플 이미지를 업로드하고 배포한 인시던트에 대해 테스트합니다. Azure Blob Storage 컨테이너의 이미지를 가리키는 URL을 사용하거나 이미지 데이터를 Base64 문자열로 추가할 수 있습니다.

curl --location 'https://<endpoint>/contentsafety/image:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
    \"image\": {
      \"url\": \"<your-blob-storage-url>/image.png\",
      "content": "<base64-data>"
    },
    \"incidentNames\": [
      \"<image-incident-name>\"
    ]
  }
}'

기타 인시던트 작업

다음 작업은 인시던트 및 인시던트 샘플을 관리하는 데 유용합니다.

텍스트 인시던트 API

모든 인시던트 나열

curl --location GET 'https://<endpoint>/contentsafety/text/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 세부 정보 확인

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 삭제

curl --location --request DELETE 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트에 따른 모든 샘플 나열

이 명령은 특정 인시던트 개체와 관련된 모든 샘플의 고유 ID를 검색합니다.

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 샘플 세부 정보 가져오기

인시던트 샘플 ID를 사용하여 샘플에 대한 세부 정보를 조회합니다.

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 샘플 삭제

해당 샘플을 검색하고 삭제하려면 인시던트 샘플 ID를 사용합니다.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"IncidentSampleIds\": [
    \"<your-incident-sample-id>\"
  ]
}'

이미지 인시던트 API

인시던트 목록 가져오기

curl --location GET 'https://<endpoint>/contentsafety/image/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 세부 정보 확인

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 삭제

curl --location --request DELETE 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트에 따른 모든 샘플 나열

이 명령은 특정 인시던트 개체와 관련된 모든 샘플의 고유 ID를 검색합니다.

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 샘플 세부 정보 가져오기

인시던트 샘플 ID를 사용하여 샘플에 대한 세부 정보를 조회합니다.

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

인시던트 샘플 삭제

해당 샘플을 검색하고 삭제하려면 인시던트 샘플 ID를 사용합니다.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  \"IncidentSampleIds\": [
    \"<your-incident-sample-id>\"
  ]
}'