다음을 통해 공유


빠른 시작: 다중 모달 콘텐츠 분석(미리 보기)

다중 모달 API는 이미지 콘텐츠와 텍스트 콘텐츠가 모두 포함된 자료를 분석하여 사용자가 생성했거나 AI가 생성한 유해한 콘텐츠로부터 애플리케이션과 서비스를 더 안전하게 만듭니다. 이미지 및 관련 텍스트 콘텐츠를 함께 분석하면 컨텍스트를 유지하고 콘텐츠를 보다 포괄적으로 이해할 수 있습니다.

콘텐츠 필터링 방식에 대한 자세한 내용은 피해 범주 개념 페이지를 참조하세요. API 입력 제한에 대해서는 개요의 입력 요구 사항 섹션을 참조하세요.

Important

이 기능은 특정 Azure 지역에서만 사용할 수 있습니다. 지역 가용성을 참조하세요.

필수 조건

  • Azure 구독 - 체험 구독 만들기
  • Azure 구독이 있으면 Azure Portal에서 콘텐츠 안전 리소스를 생성하여 키와 엔드포인트를 가져옵니다. 리소스의 고유한 이름을 입력하고, 구독을 선택하고, 리소스 그룹과 지원되는 지역, 지원되는 가격 책정 계층을 선택합니다. 다음으로 만들기를 선택합니다.
    • 리소스를 배포하는 데 몇 분 정도 걸립니다. 완료되면 리소스로 이동을 선택합니다. 왼쪽 창의 리소스 관리에서 구독 키 및 엔드포인트를 선택합니다. 나중에 사용할 수 있도록 엔드포인트와 키 값 중 하나를 임시 위치에 복사합니다.
  • 다음 중 하나가 설치되었습니다.
    • REST API 호출을 위한 cURL.
    • Python 3.x가 설치되었습니다.

텍스트로 이미지 분석

다음 섹션에서는 cURL을 사용한 샘플 이미지 조정 요청을 살펴봅니다.

샘플 이미지 준비

분석할 샘플 이미지를 선택한 뒤 이를 디바이스에 다운로드합니다.

이미지 제한 사항은 입력 요구 사항을 참조하세요. 애니메이션이 적용된 형식에서는 서비스가 분석할 첫 번째 프레임을 추출합니다.

로컬 파일 스트림 또는 Blob Storage URL의 두 가지 방법 중 하나로 이미지를 입력할 수 있습니다.

  • 로컬 파일 스트림(권장): 이미지를 base64로 인코딩합니다. codebeautify 등의 웹 사이트를 사용하여 인코딩을 수행할 수 있습니다. 그런 다음 인코딩된 문자열을 임시 위치에 저장합니다.
  • Blob Storage URL: Azure Blob Storage 계정에 이미지를 업로드합니다. Blob Storage 빠른 시작에 따라 이 작업을 수행하는 방법을 알아봅니다. 그런 다음 Azure Storage Explorer 열어 이미지로 연결되는 URL을 가져옵니다. 임시 위치에 저장합니다.

텍스트로 이미지 분석

아래 명령을 텍스트 편집기에 붙여넣고 다음과 같이 변경합니다.

  1. <endpoint>를 리소스 엔드포인트 URL로 바꿉니다.
  2. <your_subscription_key>를 원하는 키로 바꿉니다.
  3. 본문의 "image" 필드를 "content" 필드나 "blobUrl" 필드로 채웁니다. 예를 들어 {"image": {"content": "<base_64_string>"} 또는 {"image": {"blobUrl": "<your_storage_url>"}입니다.
  4. 선택적으로 "text" 필드의 값을 분석하려는 자체 텍스트로 바꿉니다.
curl --location '<endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15-preview ' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
  "image": {
      "content": "<base_64_string>"
 },
  "categories": ["Hate","Sexual","Violence","SelfHarm"],
  "enableOcr": true,
  "text": "I want to kill you"
}'

참고 항목

Blob Storage URL을 사용하는 경우 요청 본문은 다음과 같습니다.

{
  "image": {
    "blobUrl": "<your_storage_url>"
  }
}

아래 필드가 URL에 포함되어야 합니다.

이름 필수 여부 설명 Type
API 버전 Required 확인할 API 버전입니다. 현재 버전은 api-version=2024-09-15입니다. 예: <endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15 문자열

요청 본문의 매개 변수는 다음 표에 정의되어 있습니다.

속성 Description Type
콘텐츠 또는 blobUrl (필수) 이미지의 콘텐츠 또는 BLOB URL입니다. base64로 인코딩된 바이트 또는 BLOB URL일 수 있습니다. 둘 다 제공되면 요청이 거부됩니다. 허용되는 최대 이미지 크기는 7,200 x 7,200픽셀이고, 최대 파일 크기는 4MB입니다. 이미지의 최소 크기는 50픽셀 x 50픽셀입니다. 문자열
text (선택 사항) 이미지에 연결된 텍스트입니다. 한 텍스트 요청에서 최대 1,000자(유니코드 코드 포인트)를 지원합니다. 문자열
enableOcr (필수) true로 설정하면 서비스에서 OCR을 수행하고 입력 이미지를 사용하여 검색된 텍스트를 동시에 분석합니다. 입력 이미지에서 최대 1000자(유니코드 코드 포인트)를 인식합니다. 다른 내용은 잘립니다. Boolean
범주 (선택 사항) 이는 범주 이름의 배열로 간주됩니다. 사용 가능한 범주 이름 목록은 위험 범주 가이드를 참조하세요. 범주를 지정하지 않으면 네 가지 범주가 모두 사용됩니다. 단일 요청으로 점수를 얻기 위해 여러 범주를 사용합니다. 열거형

명령 프롬프트 창을 열고 cURL 명령을 실행합니다.

출력

콘솔에 이미지 및 텍스트 조정 결과가 JSON 데이터로 표시됩니다. 예시:

{
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 2
    },
    {
      "category": "SelfHarm",
      "severity": 0
    },
    {
      "category": "Sexual",
      "severity": 0
    },
    {
      "category": "Violence",
      "severity": 0
    }
  ]
}

출력의 JSON 필드는 다음과 같이 정의됩니다.

이름 Description Type
categoriesAnalysis API가 예측하는 각 출력 클래스입니다. 분류에는 다중 레이블이 지정될 수 있습니다. 예를 들어, 이미지 조정 모델에 이미지가 업로드되면 성적인 콘텐츠와 폭력으로 분류될 수 있습니다. 유해 범주 문자열
심각도 각 피해 범주에 대한 플래그의 심각도 수준입니다. 유해 범주 정수