다음을 통해 공유


콘텐츠 이해 분석기란?

Azure Content Understanding의 Foundry Tools에서 분석기는 어떻게 콘텐츠를 분석하고 어떤 정보를 추출해야 하는지를 정의하는 구성 가능한 처리 장치입니다. 분석기를 서비스를 알려주는 레시피로 생각하세요.

  • 처리할 콘텐츠 유형(문서, 이미지, 오디오 또는 비디오)
  • 추출할 요소(텍스트, 레이아웃, 테이블, 필드, 대본)
  • 출력을 구성하는 방법(markdown, JSON 필드, 세그먼트)
  • 처리에 사용할 AI 모델

분석기는 Content Understanding의 핵심 구성 요소입니다. 콘텐츠 추출, AI 기반 분석 및 구조적 데이터 출력을 재사용 가능한 단일 구성으로 결합합니다. 일반적인 시나리오에 미리 빌드된 분석기를 사용하거나 특정 요구에 맞는 사용자 지정 분석기를 만들 수 있습니다.

분석기 형식

Content Understanding은 다음과 같은 여러 유형의 분석기를 제공합니다.

  • 기본 분석기: 각 콘텐츠 형식(prebuilt-document, prebuilt-audio, prebuilt-videoprebuilt-image)에 대한 핵심 처리 기능을 제공하는 기본 분석기입니다. 이러한 분석기는 일반적으로 사용자 지정 분석기의 구성 요소로 사용됩니다.
  • RAG 분석기: 검색 보강된 생성 시나리오에 최적화되어 검색 및 AI 애플리케이션에 대한 의미 체계를 이해하고 콘텐츠를 추출합니다(예 prebuilt-documentSearch: , prebuilt-videoSearch).
  • 도메인별 분석기: 청구서, 영수증, ID 문서 및 계약(예prebuilt-invoice: , , prebuilt-receiptprebuilt-idDocument)과 같은 특정 문서 유형 및 산업에 대해 미리 구성됩니다.
  • 사용자 지정 분석기: 특정 요구 사항에 맞게 사용자 지정 필드 스키마 및 구성을 사용하여 기본 분석기를 확장하여 만드는 분석기입니다.

자세한 내용과 사용 가능한 도메인별 분석기의 전체 목록은 미리 빌드된 분석기를 참조하세요.

분석기 구성 구조

분석기 구성은 여러 최상위 속성을 포함하는 JSON 개체를 사용하여 정의됩니다. 다음 구성 요소를 구성할 수 있습니다.

다음은 분석기 구성의 전체 구조를 보여 주는 압축된 예제입니다.

{
  "analyzerId": "my-custom-invoice-analyzer",
  "description": "Extracts vendor information, line items, and totals from commercial invoices",
  "baseAnalyzerId": "prebuilt-document",
  "config": {
    ...
    "enableOcr": true
    ...
  },
  "fieldSchema": {...}
    }
  },
  "models": {
    "completion": "gpt-4.1",
    "embedding": "text-embedding-3-large"
  }
}

분석기 속성

이러한 속성은 분석기를 고유하게 식별하고 설명합니다.

analyzerId

  • 묘사: 분석기 고유 식별자입니다. 이 식별자는 API 호출에서 분석기를 참조하는 방법입니다.
  • 예:"prebuilt-invoice", "my-custom-analyzer"
  • 지침:
    • 분석기 용도를 나타내는 설명이 포함된 이름 사용
    • 사용자 지정 분석기의 경우 미리 빌드된 분석기 이름과 충돌하지 않는 이름을 선택합니다.
    • 일관성을 위해 하이픈과 함께 소문자 사용

name

  • 묘사: 사용자 인터페이스 및 설명서에 표시된 사람이 읽을 수 있는 표시 이름
  • 예:"Invoice document understanding", "Custom receipt processor"

description

  • 묘사: 분석기가 수행하는 기능과 분석기가 처리하는 콘텐츠에 대한 간략한 설명입니다. 이 설명은 필드 추출 중에 AI 모델에 의해 컨텍스트로 사용되므로 명확한 설명은 추출 정확도를 향상시킵니다.
  • 예제"Analyzes invoice documents to extract line items, totals, vendor information, and payment terms":
  • 지침:
    • 분석기에서 추출하는 내용에 대해 자세히 설명합니다.
    • 지원하는 콘텐츠 형식 언급
    • 간결하지만 정보를 충분히 전달
    • AI 모델의 이해를 안내하는 명확한 설명 작성

baseAnalyzerId

  • 묘사: 이 분석기가 구성을 상속하는 부모 분석기를 참조합니다.
  • 지원되는 기본 분석기:
    • "prebuilt-document" - 문서 기반 사용자 지정 분석기의 경우
    • "prebuilt-audio" - 오디오 기반 사용자 지정 분석기의 경우
    • "prebuilt-video" - 비디오 기반 사용자 지정 분석기의 경우
    • "prebuilt-image" - 이미지 기반 사용자 지정 분석기의 경우
  • 예제"baseAnalyzerId": "prebuilt-document":

비고

기본 분석기를 지정하면 사용자 지정 분석기가 모든 기본 구성을 상속하고 특정 설정을 재정의할 수 있습니다.

모델 구성

models

  • 묘사: 이 분석기를 사용하여 처리할 때 사용할 Foundry 모델 이름을 지정합니다. 다음은 서비스에서 사용하는 모델 이름(배포 이름이 아님)입니다. 기본 분석기 중 supportedModels 하나와 일치해야 합니다. Content Understanding에서 지원하는 모델의 전체 목록은 지원되는 모델에 나열됩니다.
  • 속성:
    • completion - 완료 작업의 모델 이름(필드 추출, 세분화, 그림 분석 등)
    • embedding - 태스크 포함을 위한 모델 이름(기술 자료 사용)
  • 중요하다: 이러한 이름은 배포 이름이 아니라 Foundry 카탈로그의 모델 이름입니다. 런타임 시 서비스는 이러한 모델 이름을 리소스 수준에서 구성하는 실제 모델 배포에 매핑합니다.
  • Example:
    {
      "completion": "gpt-4o",
      "embedding": "text-embedding-3-large"
    }
    

연결된 모델을 구성하는 방법에 대한 자세한 내용은 Foundry 모델과 Content Understanding 리소스 연결을 참조하세요 .

처리 구성

개체에는 config 콘텐츠 분석 방법을 제어하는 모든 처리 옵션이 포함되어 있습니다. 이러한 옵션은 기능에 따라 범주로 나뉩니다.

구성 개체 속성

일반 옵션

returnDetails
  • 기본값: false(분석기마다 다름)
  • 묘사: 응답에 자세한 정보를 포함할지 여부를 제어합니다(신뢰도 점수, 경계 상자, 텍스트 범위, 메타데이터).
  • 사용 시기:
    • 추출 문제를 디버깅할 때 true로 설정
    • 추출된 데이터에 대한 위치 정보가 필요한 경우
    • 유효성 검사에 신뢰도 점수가 필요한 경우
    • 품질 보증 및 테스트용
  • 응답에 미치는 영향: 메타데이터를 늘리면 응답 크기가 크게 증가합니다.

문서 콘텐츠 추출 옵션

enableOcr
  • 기본값: true
  • 묘사: 광학 문자 인식이 이미지 및 스캔한 문서에서 텍스트를 추출할 수 있도록 합니다.
  • 사용 시기:
    • 스캔한 문서, 사진 및 이미지 기반 PDF를 사용하도록 설정
    • 네이티브 디지털 PDF를 사용하지 않도록 설정하여 성능 향상
  • 지원: 문서 분석기
enableLayout
  • 기본값: true
  • 묘사: 단락, 선, 단어, 읽기 순서 및 구조적 요소를 포함한 레이아웃 정보를 추출합니다.
  • 사용 시기:
    • 문서 구조 및 계층 구조 이해에 필요
    • 정확한 단락 및 섹션 추출에 필요
    • 원시 텍스트 추출만 필요한 경우 사용 안 함
  • 다음에서 지원합니다 . 문서 기반 분석기
enableFormula
  • 기본값: true
  • 설명: LaTeX 형식의 수식과 방정식을 탐지하고 추출합니다.
  • 사용 시기:
    • 과학 논문, 연구 문서, 기술 설명서에 대한 기능 활성화
    • 성능 향상을 위해 일반 비즈니스 문서 사용 안 함
  • 다음에서 지원합니다 . 문서 기반 분석기
enableBarcode
  • 기본값: true
  • 묘사: 바코드 및 QR 코드를 검색하고 추출하여 디코딩된 값을 반환합니다.
  • 사용 시기:
    • 재고 문서, 배송 라벨, 제품 설명서를 사용할 수 있도록 활성화합니다.
    • 성능 향상을 위해 바코드가 없을 때 사용 안 함
  • 다음에서 지원합니다 . 문서 기반 분석기
  • 지원되는 바코드 유형: QR Code, PDF417, UPC-A, UPC-E, Code 39, Code 128, EAN-8, EAN-13, DataBar, Code 93, Codabar, ITF, Micro QR Code, Aztec, Data Matrix, MaxiCode

표 및 차트 옵션

tableFormat
  • 기본값:"html"
  • 지원되는 값:"html", "markdown"
  • 묘사: 추출된 테이블의 출력 형식을 지정합니다.
  • 사용 시기:
    • 웹 렌더링 또는 복잡한 테이블 구조를 보존해야 할 때 "html" 사용
    • 설명서 또는 텍스트 기반 처리에서 간단한 테이블에 사용 "markdown"
  • 다음에서 지원합니다 . 문서 기반 분석기
chartFormat
  • 기본값:"chartjs"
  • 지원되는 값:"chartjs"
  • 묘사: 추출된 차트 및 그래프 데이터의 형식을 지정합니다(Chart.js 라이브러리와 호환됨).
  • 사용 시기:
    • 가로 막대형 차트, 꺾은선형 그래프, 원형 차트에서 데이터를 추출하는 경우
    • 다시 렌더링하기 위해 시각적 차트를 구조화된 데이터로 변환
  • 다음에서 지원합니다 . 문서 기반 분석기

그림 및 이미지 분석 옵션

enableFigureDescription
  • 기본값: false
  • 묘사: 그림, 다이어그램, 이미지 및 일러스트레이션에 대한 자연어 텍스트 설명을 생성합니다.
  • 사용 시기:
    • 접근성 요구 사항(대체 텍스트 생성)
    • 다이어그램과 순서도를 이해하기
    • 인포그래픽에서 인사이트 추출
  • 다음에서 지원합니다 . 문서 기반 분석기
enableFigureAnalysis
  • 기본값: false
  • 묘사: 차트 데이터 추출 및 다이어그램 구성 요소 식별을 포함한 수치의 심층 분석 수행
  • 사용 시기:
    • 문서에 포함된 차트에서 구조화된 데이터 추출
    • 복잡한 다이어그램 이해
    • 자세한 그림 분류
  • 다음에서 지원합니다 . 문서 기반 분석기

주석 옵션

annotationFormat
  • 기본값:"markdown"
  • 지원되는 값:"markdown"
  • 묘사: 반환된 주석의 형식을 지정합니다.
  • 다음에서 지원합니다 . 문서 기반 분석기

필드 추출 옵션

estimateFieldSourceAndConfidence
  • 기본값: false(분석기마다 다름)
  • 묘사: 추출된 각 필드 값에 대한 원본 위치(페이지 번호, 경계 상자) 및 신뢰도 점수를 반환합니다.
  • 사용 시기:
    • 유효성 검사 및 품질 보증 워크플로
    • 추출 정확도 이해
    • 추출 문제 디버깅
    • 사용자 인터페이스에서 원본 텍스트 강조 표시
  • 다음에서 지원합니다 . 문서 분석기(청구서, 영수증, ID 문서, 세금 양식)

오디오 및 비디오 옵션

locales
  • 기본값:[] (빈 배열)
  • 설명: 언어별 처리를 위한 지역 설정/언어 코드 목록(주로 음성 전사용)
  • 지원되는 값: BCP-47 언어 코드(예: ["en-US", "es-ES", "fr-FR", "de-DE"])
  • 사용 시기:
    • 다국어 오디오 대화 내용 기록
    • 더 나은 정확도를 위해 예상 언어 지정
    • 특정 지역 변형의 콘텐츠 처리
  • 지원자:prebuilt-audio , prebuilt-videoprebuilt-callCenter

비고

지원되는 언어 및 로캘의 전체 목록은 언어 및 지역 지원을 참조하세요.

disableFaceBlurring
  • 기본값: false
  • 묘사: 개인 정보 보호를 위해 이미지 및 비디오의 얼굴을 흐리게 해야 하는지 여부를 제어합니다.
  • 사용 시기:
    • 분석을 위해 얼굴이 보여야 하는 경우 true으로 설정하십시오.
    • false 원하는 공유 콘텐츠의 개인 식별을 해제할 때로 설정
  • 지원 기준:prebuilt-image, prebuilt-video

중요합니다

Content Understanding의 얼굴 기능 기능은 제한된 액세스 서비스이며 액세스하려면 등록이 필요합니다. Content Understanding의 얼굴 그룹화 및 식별 기능은 자격 및 사용 기준에 따라 제한됩니다. Face 서비스는 Microsoft 관리 고객 및 파트너만 사용할 수 있습니다. 액세스를 신청하려면 얼굴 인식 입력 양식을 사용하세요. 자세한 내용은 안면 인식에 대한 책임 있는 AI 투자 및 보호 장치를 참조하세요.

분류 옵션

contentCategories
  • 기본값: 설정되지 않음
  • 묘사: 자동 분류 및 특수 처리기로 라우팅하기 위한 범주 또는 콘텐츠 형식을 정의합니다. 함께 enableSegment set to false 사용하는 경우 현재 문서에 대해서만 지원됩니다. 전체 파일을 분류합니다. enableSegment=true가 함께 사용될 경우, 파일은 이러한 범주에 따라 청크로 나뉘고, 각 세그먼트는 범주에 따라 분류되어, 범주별 분석기를 통해 필요에 따라 선택적으로 처리됩니다. 항상 사용 가능한 범주 목록에서 단일 옵션을 선택합니다.
  • 구조: 각 범주에는 다음이 포함됩니다.
    • description - (필수) 범주/문서 형식에 대한 자세한 설명입니다. 이 설명은 세그먼트 경계 및 분류를 결정하는 AI 모델을 안내하는 프롬프트 역할을 합니다. 한 범주가 끝나고 다른 범주가 시작되는 위치를 식별하는 데 도움이 되는 고유 특성을 포함합니다.
    • analyzerId - (선택 사항) 이 범주에 사용할 다른 분석기를 참조합니다. 참조된 분석기는 복사되지 않고 연결되어 일관된 동작을 보장합니다. 생략하면 더 많은 처리 없이 분류만 수행됩니다(분할 전용 시나리오).
  • 모델 사용량: 부모 분석기 models 속성에 지정된 모델은 구분 및 분류에만 사용됩니다. 각 하위 분석기에서는 추출에 고유한 모델 구성을 사용합니다.
  • enableSegment와의 동작:
    • enableSegment: true: 콘텐츠는 범주 설명에 따라 세그먼트로 분할됩니다. 각 세그먼트는 정의된 범주 중 하나로 분류됩니다. 원래 콘텐츠 개체의 세그먼트 메타데이터와 지정된 세그먼트에 대한 더 많은 콘텐츠 개체를 반환합니다 analyzerId .
    • enableSegment: false: 전체 콘텐츠는 전체적으로 하나의 범주로 분류되고 그에 따라 라우팅됩니다. 분할하지 않고 계층 분류에 유용합니다.
  • 범주 일치: "기타" 또는 "기본" 범주가 정의되지 않은 경우 콘텐츠는 나열된 범주 중 하나로 분류되어야 합니다. 타 카테고리와 맞지 않는 콘텐츠를 적절하게 처리하려면 "기타" 범주를 포함합니다.
  • 지원 대상: 문서 및 비디오 분석기. 비디오의 경우 contentCategory를 하나만 정의할 수 있습니다.
enableSegment
  • 기본값: false
  • 묘사: 에 지정된 contentCategories범주에 따라 파일을 청크로 분할하여 콘텐츠 구분을 사용하도록 설정합니다. 그런 다음 각 세그먼트는 선택적 처리를 위해 정의된 범주 중 하나로 분류됩니다.
  • 구분 동작: 서비스는 범주 설명에 대해 콘텐츠를 분석하여 콘텐츠를 논리적 단위로 나눕니다. 세그먼트 경계는 다음을 사용하여 결정됩니다.
    • 문서: 콘텐츠 구조와 결합된 범주 설명(페이지, 섹션, 서식 변경)
    • 동영상: 시각적 신호(샷 변경, 장면 전환, 임시 경계)와 결합된 범주 설명입니다. contentCategory는 하나만 지원됩니다.
  • 사용 시기:
    • 여러 파트에서 서로 다른 처리가 필요한 혼합 콘텐츠 일괄 처리 처리(예: 청구서와 영수증이 모두 포함된 PDF)
    • 선택적 분석을 위해 긴 문서를 분류된 청크로 분할
    • 콘텐츠 유형별 비디오 분석(예: 기본 콘텐츠와 별도의 광고)
  • 출력 구조:
    • segments 각 세그먼트(ID, 경계, 범주)에 대한 메타데이터가 포함된 콘텐츠 개체의 배열을 반환합니다.
    • 각 세그먼트에는 contentCategories에서 분류된 범주가 포함됩니다.
    • 범주 analyzerId 가 지정된 세그먼트에 대해 더 많은 콘텐츠 개체가 반환됩니다.
  • 계층적 구분: 범주 분석기에 enableSegment: true도 있는 경우 세그먼트를 재귀적으로 구분하여 다중 수준 콘텐츠 분류를 사용하도록 설정할 수 있습니다.
  • 성능 영향: 특히 세그먼트가 많은 대용량 파일의 처리 시간이 증가합니다.
  • 다음에서 지원합니다 . 문서 및 비디오 분석기
segmentPerPage
  • 기본값: false
  • 묘사: 구분을 사용하도록 설정하면 논리적 콘텐츠 경계를 사용하는 대신 페이지당 하나의 세그먼트를 강제로 적용합니다. 별도의 "perPage" 분할 모드의 필요성을 대체합니다.
  • 사용 시기:
    • 페이지별 처리 워크플로
    • 각 페이지는 독립 단위로 처리되어야 합니다.
    • 개별 페이지의 병렬 처리
    • 여러 페이지 문서의 페이지 수준 필드 추출
    • 각 페이지가 다른 문서 형식인 혼합 문서 일괄 처리
  • 다음에서 지원합니다 . 문서 기반 분석기
omitContent
  • 기본값: false
  • 묘사: 가 응답에서 원래 콘텐츠 개체를 제외하는 경우 true하위 분석기에서 구조화된 필드 데이터 또는 콘텐츠 개체만 반환합니다(사용하는 contentCategories경우).
  • 사용 시기:
    • 추출된 필드 값만 필요한 경우
    • contentCategories를 사용하여 분류된 결과만 반환하는 구성된 분석기
    • 계층 분류 체인의 경우 리프 분석기 결과만 반환합니다.
  • 예제 - 선택적 분석:
    {
      "config": {
        "enableSegment": true,
        "contentCategories": {
          "invoice": { "analyzerId": "prebuilt-invoice" },
          "other": { }  // Categorize but don't process
        },
        "omitContent": true  // Only return invoice analysis results
      }
    }
    
  • 지원: 문서 분석기

필드 구성

이 속성은 fieldSchema 분석기가 콘텐츠에서 추출하는 구조적 데이터를 정의합니다. 필드, 해당 형식 및 추출 방법을 지정합니다.

디자인 의도: 구조적 추출

필드 스키마는 구조화되지 않은 콘텐츠를 쿼리 가능한 구조화된 데이터로 변환합니다. 스키마는 다음의 두 가지 역할을 모두 수행합니다.

  • 추출되는 데이터를 정의하는 계약
  • AI 모델이 무엇을 찾아야 하고 그것을 어떻게 해석할지에 대한 가이드

필드 스키마 구조

{
  "fieldSchema": {
    "name": "InvoiceAnalysis",
    "fields": {
      "VendorName": {
        "type": "string",
        "description": "Name of the vendor or supplier",
        "method": "extract"
      },
      "InvoiceTotal": {
        "type": "number",
        "description": "Total amount due on the invoice",
        "method": "extract"
      },
      "LineItems": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Description": { "type": "string" },
            "Quantity": { "type": "number" },
            "UnitPrice": { "type": "number" },
            "Amount": { "type": "number" }
          }
        },
        "description": "List of items on the invoice, typically in a table format",
        "method": "generative"
      }
    }
  }
}

필드 스키마 속성

name

  • 묘사: 일반적으로 콘텐츠 형식 또는 사용 사례를 설명하는 스키마의 이름
  • 예:"InvoiceAnalysis", "ReceiptExtraction""ContractFields"

fields

  • 묘사: 추출할 각 필드를 정의하고 필드 이름을 키로 지정하는 개체입니다. 빈 개체 {} 는 구조화된 필드가 추출되지 않음을 나타냅니다(예: 레이아웃 전용 분석기).
  • 계층적 지원: 복잡한 데이터 구조를 나타내기 위한 중첩 필드 objectarray 형식을 지원합니다.
  • 모범 사례: 성능 및 추출 정확도를 줄일 수 있으므로 딥 중첩(2~3개 이상 수준) 방지

필드 정의 속성

개체의 fields 각 필드에는 다음과 같은 속성이 있습니다.

type

  • 지원되는 값:"string", "number", "boolean", "date", "object""array"
  • 묘사: 필드 값의 데이터 형식입니다. 최적의 추출을 위해 데이터 의미 체계와 가장 일치하는 형식을 선택합니다.

description

  • 묘사: 필드에 포함된 항목과 필드를 찾을 수 있는 위치에 대한 명확한 설명입니다. 이 설명은 AI 모델에서 필드 추출을 안내하는 미니 프롬프트로 처리되므로 특이성과 명확성은 추출 정확도를 직접 향상시킵니다.

효과적인 필드 설명을 작성하는 방법에 대한 자세한 내용은 필드 추출 모범 사례를 참조하세요.

method

  • 지원되는 값:"generate", "extract""classify"
  • 묘사: 이 필드에 사용할 추출 메서드입니다. 지정하지 않으면 시스템은 필드 형식 및 설명에 따라 최상의 방법을 자동으로 결정합니다.
  • 메서드 형식:
    • "generate" - 값은 AI 모델을 사용하는 콘텐츠에 따라 자유롭게 생성됩니다(해석이 필요한 복합 또는 변수 필드에 가장 적합)
    • "extract" - 값은 콘텐츠에 표시될 때 추출됩니다(특정 위치에서 리터럴 텍스트 추출에 가장 적합). 추출하려면 enableSourceGroundingAndConfidence 이 필드에 대해 true로 설정해야 합니다.
    • "classify" - 값은 미리 정의된 범주 집합에 대해 분류됩니다(가능한 고정 값 집합과 함께 사용하는 enum 경우에 가장 적합)
estimateSourceAndConfidence
  • 기본값: false
  • 묘사: 이 필드 값의 원본 위치(페이지 번호, 경계 상자) 및 신뢰도 점수를 반환합니다. method = 추출인 필드의 경우 true여야 합니다. 이 속성은 분석기 수준 estimateFieldSourceAndConfidence 속성을 재정의합니다.
  • 사용 시기:
    • 유효성 검사 및 품질 보증 워크플로
    • 추출 정확도 이해
    • 추출 문제 디버깅
    • 사용자 인터페이스에서 원본 텍스트 강조 표시
  • 다음에서 지원합니다 . 문서 분석기(청구서, 영수증, ID 문서, 세금 양식)

items (배열 형식의 경우)

  • 묘사: 배열의 항목 구조를 정의합니다.
  • 속성:
    • type - 배열 항목의 형식("string", "number", "object")
    • properties - 개체 항목의 경우 중첩된 필드 구조를 정의합니다.

properties (개체 형식의 경우)

  • 묘사: 개체 내에서 중첩된 필드의 구조를 정의합니다.
  • Example:
    {
      "Address": {
        "type": "object",
        "properties": {
          "Street": { "type": "string" },
          "City": { "type": "string" },
          "State": { "type": "string" },
          "ZipCode": { "type": "string" }
        },
        "description": "Complete mailing address"
      }
    }
    

전체 분석기 예제

다음은 이 참조에서 설명하는 주요 개념을 보여 주는 사용자 지정 청구서 분석기 구성의 포괄적인 예제입니다.

{
  "analyzerId": "my-custom-invoice-analyzer",
  "name": "Custom Invoice Analyzer",
  "description": "Extracts vendor information, line items, and totals from commercial invoices",
  "baseAnalyzerId": "prebuilt-document",
  "config": {
    "returnDetails": true,
    "enableOcr": true,
    "enableLayout": true,
    "tableFormat": "html",
    "estimateFieldSourceAndConfidence": true,
    "omitContent": false
  },
  "fieldSchema": {
    "name": "InvoiceFields",
    "fields": {
      "VendorName": {
        "type": "string",
        "description": "Name of the vendor or supplier, typically found in the header section",
        "method": "extract"
      },
      "VendorAddress": {
        "type": "object",
        "properties": {
          "Street": { "type": "string" },
          "City": { "type": "string" },
          "State": { "type": "string" },
          "ZipCode": { "type": "string" }
        },
        "description": "Complete vendor mailing address"
      },
      "InvoiceNumber": {
        "type": "string",
        "description": "Unique invoice number, often labeled as 'Invoice #' or 'Invoice No.'",
        "method": "extract"
      },
      "InvoiceDate": {
        "type": "date",
        "description": "Date the invoice was issued, in format MM/DD/YYYY",
        "method": "extract"
      },
      "DueDate": {
        "type": "date",
        "description": "Payment due date",
        "method": "extract"
      },
      "LineItems": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Description": {
              "type": "string",
              "description": "Item or service description"
            },
            "Quantity": {
              "type": "number",
              "description": "Quantity ordered"
            },
            "UnitPrice": {
              "type": "number",
              "description": "Price per unit"
            },
            "Amount": {
              "type": "number",
              "description": "Line total (Quantity × UnitPrice)"
            }
          }
        },
        "description": "List of items or services on the invoice, typically in a table format",
        "method": "generative"
      },
      "Subtotal": {
        "type": "number",
        "description": "Sum of all line items before tax",
        "method": "extract"
      },
      "Tax": {
        "type": "number",
        "description": "Tax amount",
      },
      "Total": {
        "type": "number",
        "description": "Total amount due (Subtotal + Tax)",
      },
      "PaymentTerms": {
        "type": "string",
        "description": "Payment terms and conditions (e.g., 'Net 30', 'Due upon receipt')",
        "method": "generative"
      }
    }
  },
  "supportedModels": {
    "completion": ["gpt-4o", "gpt-4o-mini", "gpt-4.1"],
    "embedding": ["text-embedding-3-large", "text-embedding-3-small"]
  },
  "models": {
    "completion": "gpt-4.1",
    "embedding": "text-embedding-3-large"
  }
}

사용자 지정 분석기 만들기

이 문서에 설명된 구성 구조를 기반으로 사용자 지정 분석기를 만들려면 Content Understanding REST API를 사용하여 분석기 정의를 제출합니다.

API 엔드포인트

다음 curl 명령을 사용하여 JSON 파일에서 분석기 구성을 제출하여 사용자 지정 분석기를 만듭니다.

curl -X PUT "https://{endpoint}/contentunderstanding/analyzers/{analyzerId}?api-version=2025-11-01-preview" \
  -H "Content-Type: application/json" \
  -H "Ocp-Apim-Subscription-Key: {key}" \
  -d @analyzer-definition.json

다음 자리 표시자를 바꿉니다.

  • {endpoint} - 콘텐츠 이해 리소스 엔드포인트
  • {analyzerId} - 분석기 고유 식별자
  • {key} - 귀하의 Content Understanding 구독 키
  • analyzer-definition.json - 분석기 구성 파일의 경로

요청 메시지 본문

분석기 구성 파일은 이 참조에 설명된 속성을 포함하는 JSON 개체여야 합니다. 전체 예제는 사용자 지정 분석기 만들기 자습서를 참조하세요.

응답

API는 201 Created 응답을 반환하고, 분석기 생성 작업의 상태를 추적할 수 있는 Operation-Location 헤더가 포함되어 있습니다.

다음 단계

다양한 콘텐츠 형식(문서, 이미지, 오디오, 비디오)에 대한 예제가 포함된 전체 연습은 사용자 지정 분석기 만들기를 참조하세요.

콘텐츠 형식별 구성

다양한 콘텐츠 형식은 다양한 구성 옵션을 지원합니다. 빠른 참조는 다음과 같습니다.

문서 분석기

기본 분석기:prebuilt-document

지원되는 구성 옵션:

  • returnDetails
  • omitContent
  • enableOcr
  • enableLayout
  • enableFormula
  • enableBarcode
  • tableFormat
  • chartFormat
  • enableFigureDescription
  • enableFigureAnalysis
  • enableAnnotations
  • annotationFormat
  • enableSegment
  • segmentPerPage
  • estimateFieldSourceAndConfidence (구조적 분석기)
  • contentCategories (다중 변형 분석기)

오디오 분석기

기본 분석기:prebuilt-audio

지원되는 구성 옵션:

  • returnDetails
  • locales

비디오 분석기

기본 분석기:prebuilt-video

지원되는 구성 옵션:

  • returnDetails
  • locales
  • contentCategories
  • enableSegment
  • omitContent
  • disableFaceBlurring

이미지 분석기

기본 분석기:prebuilt-image

지원되는 구성 옵션:

  • returnDetails
  • disableFaceBlurring