

# 전체 임베딩 요청 및 응답 스키마
<a name="embeddings-schema"></a>

## 전체 동기식 스키마
<a name="embeddings-schema-sync"></a>



```
{
    "schemaVersion": "nova-multimodal-embed-v1",
    "taskType": "SINGLE_EMBEDDING",
    "singleEmbeddingParams": {
        "embeddingPurpose": "GENERIC_INDEX" | "GENERIC_RETRIEVAL" | "TEXT_RETRIEVAL" | "IMAGE_RETRIEVAL" | "VIDEO_RETRIEVAL" | "DOCUMENT_RETRIEVAL" | "AUDIO_RETRIEVAL" | "CLASSIFICATION" | "CLUSTERING",
        "embeddingDimension": 256 | 384 | 1024 | 3072,
        "text": {
            "truncationMode": "START" | "END" | "NONE",
            "value": string,
            "source": SourceObject,
        },
        "image": {
            "detailLevel": "STANDARD_IMAGE" | "DOCUMENT_IMAGE",
            "format": "png" | "jpeg" | "gif" | "webp",
            "source": SourceObject
        },
        "audio": {
            "format": "mp3" | "wav" | "ogg",
            "source": SourceObject
        },
        "video": {
            "format": "mp4" | "mov" | "mkv" | "webm" | "flv" | "mpeg" | "mpg" | "wmv" | "3gp",
            "source": SourceObject,
            "embeddingMode": "AUDIO_VIDEO_COMBINED" | "AUDIO_VIDEO_SEPARATE"
        }
    }
}
```

다음 목록에는 요청에 대한 모든 파라미터가 포함되어 있습니다.
+ `schemaVersion`(선택 사항) - 멀티모달 임베딩 모델 요청에 대한 스키마 버전
  + 유형: string
  + 허용되는 값: "nova-multimodal-embed-v1"
  + 기본값: "nova-multimodal-embed-v1"
+ `taskType`(필수) - 입력 콘텐츠에서 수행할 임베딩 작업 유형을 지정합니다. `single_embedding`은 모델 입력당 하나의 임베딩을 생성하는 것을 의미합니다. `segmented_embedding`은 먼저 사용자 사양에 따라 모델 입력을 분할한 다음 세그먼트당 단일 임베딩을 생성하는 것을 의미합니다.
  + 유형: string
  + 허용되는 값: 동기식 직접 호출의 경우 "SINGLE\$1EMBEDDING"이어야 합니다.
+ `singleEmbeddingParams`(필수)
  + `embeddingPurpose`(필수) - Nova Multimodal Embeddings를 사용하면 의도한 애플리케이션에 따라 임베딩을 최적화할 수 있습니다. MM-RAG, 이미지 및 비디오 검색을 위한 디지털 자산 관리, 멀티모달 콘텐츠에 대한 유사성 비교 또는 지능형 문서 처리를 위한 문서 분류를 예로 들 수 있습니다. `embeddingPurpose`를 사용하면 임베딩 사용 사례를 지정할 수 있습니다. 아래 사용 사례에 따라 올바른 값을 선택하세요.
    + **검색:** RAG 및 검색과 같은 임베딩 사용 사례에는 두 가지 주요 단계가 포함됩니다. 첫째, 콘텐츠에 대한 임베딩을 생성하여 인덱스를 생성하고, 둘째, 검색 중 인덱스에서 가장 관련성이 높은 콘텐츠를 검색합니다. 검색 사용 사례 작업 시 다음 값을 사용합니다.
      + 인덱싱:
        + "GENERIC\$1INDEX" - 벡터 데이터 스토어의 인덱스로 사용하는 데 최적화된 임베딩을 생성합니다. 인덱싱 중인 양식에 관계없이 이 값을 사용해야 합니다.
      + 검색: 검색 중인 콘텐츠 유형에 따라 임베딩을 최적화합니다.
        + "TEXT\$1RETRIEVAL" - 텍스트 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "IMAGE\$1RETRIEVAL" - "STANDARD\$1IMAGE" detailLevel로 생성된 이미지 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "VIDEO\$1RETRIEVAL" - "AUDIO\$1VIDEO\$1COMBINED" 임베딩 모드로 생성된 비디오 임베딩 또는 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "DOCUMENT\$1RETRIEVAL" - "DOCUMENT\$1IMAGE" detailLevel로 생성된 문서 이미지 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "AUDIO\$1RETRIEVAL" - 오디오 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "GENERIC\$1RETRIEVAL" - 혼합 양식 임베딩이 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
      + 예제: 사용자가 텍스트 쿼리를 사용하여 이미지를 검색하는 이미지 검색 앱에서 이미지를 기반으로 임베딩 인덱스를 생성할 때는 `embeddingPurpose = generic_index`를 사용하고, 이미지를 검색하는 데 사용되는 쿼리의 임베딩을 생성할 때는 `embeddingPurpose = image_retrieval`을 사용하세요.
    + "CLASSIFICATION" - 분류를 수행하는 데 최적화된 임베딩을 생성합니다.
    + "CLUSTERING" - 클러스터링하는 데 최적화된 임베딩을 생성합니다.
  + `embeddingDimension`(선택 사항) - 생성할 벡터의 크기입니다.
    + 유형: int
    + 허용되는 값: 256 \$1 384 \$1 1024 \$1 3072
    + 기본값: 3072
  + `text`(선택 사항) - 텍스트 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `truncationMode`(필수) - 텍스트의 토큰화된 버전이 모델에서 지원하는 최댓값을 초과하는 경우 텍스트의 어느 부분이 잘릴지 지정합니다.
      + 유형: string
      + 허용된 값:
        + "START" - 필요한 경우 텍스트 시작 부분의 문자를 생략합니다.
        + "END" - 필요한 경우 텍스트 끝 부분의 문자를 생략합니다.
        + "NONE" - 텍스트 길이가 모델의 최대 토큰 제한을 초과하는 경우 실패합니다.
    + `value`(선택 사항, 값 또는 소스를 제공해야 함) - 임베딩을 생성할 텍스트 값입니다.
      + 유형: string
      + 최대 길이: 8,192자
    + `source`(선택 사항, 값 또는 소스를 제공해야 함) - S3에 저장된 텍스트 파일에 대한 참조입니다. SourceObject의 bytes 옵션은 텍스트 입력에는 적용되지 않습니다. 요청의 일부로 텍스트를 인라인으로 전달하려면 대신 value 파라미터를 사용하세요.
      + 유형: SourceObject('일반 객체' 섹션 참조)
  + `image`(선택 사항) - 이미지 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `detailLevel`(선택 사항) - 이미지를 처리할 해상도를 지정합니다. "STANDARD\$1IMAGE"는 낮은 해상도를 사용하고, "DOCUMENT\$1IMAGE"는 텍스트를 더 정확하게 인식하기 위해 높은 해상도를 사용합니다.
      + 유형: string
      + 허용되는 값: "STANDARD\$1IMAGE" \$1 "DOCUMENT\$1IMAGE"
      + 기본값: "STANDARD\$1IMAGE"
    + `format`(필수)
      + 유형: string
      + 허용되는 값: "png" \$1 "jpeg" \$1 "gif" \$1 "webp"
    + `source`(필수) - 이미지 콘텐츠 소스입니다.
      + 유형: SourceObject('일반 객체' 섹션 참조)
  + `audio`(선택 사항) - 오디오 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `format`(필수)
      + 유형: string
      + 허용되는 값: "mp3" \$1 "wav" \$1 "ogg"
    + `source`(필수) - 오디오 콘텐츠 소스입니다.
      + 유형: SourceObject('일반 객체' 섹션 참조)
      + 최대 오디오 재생시간: 30초
  + `video`(선택 사항) - 비디오 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `format`(필수)
      + 유형: string
      + 허용되는 값: "mp4" \$1 "mov" \$1 "mkv" \$1 "webm" \$1 "flv" \$1 "mpeg" \$1 "mpg" \$1 "wmv" \$1 "3gp"
    + `source`(필수) - 비디오 콘텐츠 소스입니다.
      + 유형: SourceObject('일반 객체' 섹션 참조)
      + 최대 비디오 재생시간: 30초
    + `embeddingMode`(필수)
      + 유형: string
      + 값: "AUDIO\$1VIDEO\$1COMBINED" \$1 "AUDIO\$1VIDEO\$1SEPARATE"
        + "AUDIO\$1VIDEO\$1COMBINED" - 청각적 객체 콘텐츠와 시각적 객체 콘텐츠를 모두 결합한 단일 임베딩을 생성합니다.
        + "AUDIO\$1VIDEO\$1SEPARATE" - 두 개의 임베딩을 생성합니다. 하나는 청각적 객체 콘텐츠용이고, 다른 하나는 시각적 객체 콘텐츠용입니다.

**InvokeModel 응답 본문**  
[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_InvokeModel.html)이 성공적인 결과를 반환할 경우 응답 본문의 구조는 다음과 같습니다.

```
{
   "embeddings": [
      {
          "embeddingType": "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "AUDIO_VIDEO_COMBINED",
          "embedding": number[],
          "truncatedCharLength": int // Only included if text input was truncated
      }
    ]                       
}
```

다음 목록에는 요청에 대한 모든 파라미터가 포함되어 있습니다.
+ `embeddings`(필수) - 대부분의 요청에 대해 이 배열에는 단일 임베딩이 포함됩니다. "AUDIO\$1VIDEO\$1SEPARATE" embeddingMode 모드가 선택된 비디오 요청의 경우 이 배열에는 두 개의 임베딩이 포함됩니다. 하나는 비디오 콘텐츠용이고 다른 하나는 오디오 콘텐츠용입니다.
  + 유형: 다음 속성을 가진 임베딩 배열
    + `embeddingType`(필수) - 생성된 임베딩의 유형을 보고합니다.
      + 유형: string
      + 허용되는 값: "TEXT" \$1 "IMAGE" \$1 "VIDEO" \$1 "AUDIO" \$1 "AUDIO\$1VIDEO\$1COMBINED"
    + `embedding`(필수) - 임베딩 벡터입니다.
      + 유형: number[]
    + `truncatedCharLength`(선택 사항) - 텍스트 임베딩 요청에만 적용됩니다. 입력 텍스트의 토큰화된 버전이 모델의 제한을 초과한 경우 반환됩니다. 임베딩 생성 전 값이 나타내는 문자 다음에 텍스트가 잘렸습니다.
      + 유형: int

## 전체 비동기식 스키마
<a name="embeddings-schema-async"></a>

Amazon Bedrock 런타임 API 함수 [StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_StartAsyncInvoke.html), [GetAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetAsyncInvoke.html) 및 [ListAsyncInvokes](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListAsyncInvokes.html)를 사용하여 비동기식으로 임베딩을 생성할 수 있습니다. 긴 텍스트 구절이나 30초가 넘는 비디오 또는 오디오와 같은 긴 콘텐츠를 분할하기 위해 Nova Embeddings를 사용하려면 비동기식 API를 사용해야 합니다.

[StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_StartAsyncInvoke.html)를 직접적으로 호출할 때 `modelId`, `outputDataConfig` 및 `modelInput` 파라미터를 제공해야 합니다.

```
response = bedrock_runtime.start_async_invoke(
    modelId="amazon.nova-2-multimodal-embeddings-v1:0",
    outputDataConfig=Data Config,
    modelInput=Model Input
)
```

`outputDataConfig`는 생성된 출력을 저장할 S3 버킷을 지정합니다. 이 변수의 구조는 다음과 같습니다.

```
{
    "s3OutputDataConfig": {
        "s3Uri": "s3://your-s3-bucket"
    }
}
```

`s3Uri`는 대상 버킷의 S3 URI입니다. 추가 선택적 파라미터는 StartAsyncInvoke 설명서를 참조하세요.

`modelInput` 파라미터에는 다음 구조가 사용됩니다.

```
{
    "schemaVersion": "nova-multimodal-embed-v1",
    "taskType": "SEGMENTED_EMBEDDING",
    "segmentedEmbeddingParams": {
        "embeddingPurpose": "GENERIC_INDEX" | "GENERIC_RETRIEVAL" | "TEXT_RETRIEVAL" | "IMAGE_RETRIEVAL" | "VIDEO_RETRIEVAL" | "DOCUMENT_RETRIEVAL" | "AUDIO_RETRIEVAL" | "CLASSIFICATION" | "CLUSTERING",
        "embeddingDimension": 256 | 384 | 1024 | 3072,
        "text": {
            "truncationMode": "START" | "END" | "NONE",
            "value": string,
            "source": {
                "s3Location": {
                    "uri": "s3://Your S3 Object"
                }
            },
            "segmentationConfig": {
                "maxLengthChars": int
            }
        },
        "image": {
            "format": "png" | "jpeg" | "gif" | "webp",
            "source": SourceObject,
            "detailLevel": "STANDARD_IMAGE" | "DOCUMENT_IMAGE"
        },
        "audio": {
            "format": "mp3" | "wav" | "ogg",
            "source": SourceObject,
            "segmentationConfig": {
                "durationSeconds": int
            }
        },
        "video": {
            "format": "mp4" | "mov" | "mkv" | "webm" | "flv" | "mpeg" | "mpg" | "wmv" | "3gp",
            "source": SourceObject,
            "embeddingMode": "AUDIO_VIDEO_COMBINED" | "AUDIO_VIDEO_SEPARATE",
            "segmentationConfig": {
                "durationSeconds": int
            }
        }
    }
}
```

다음 목록에는 요청에 대한 모든 파라미터가 포함되어 있습니다.
+ `schemaVersion`(선택 사항) - 멀티모달 임베딩 모델 요청에 대한 스키마 버전
  + 유형: string
  + 허용되는 값: "nova-multimodal-embed-v1"
  + 기본값: "nova-multimodal-embed-v1"
+ `taskType`(필수) - 입력 콘텐츠에서 수행할 임베딩 작업 유형을 지정합니다. `single_embedding`은 모델 입력당 하나의 임베딩을 생성하는 것을 의미합니다. `segmented_embedding`은 먼저 사용자 사양에 따라 모델 입력을 분할한 다음 세그먼트당 단일 임베딩을 생성하는 것을 의미합니다.
  + 유형: string
  + 허용되는 값: 비동기식 직접 호출의 경우 "SEGMENTED\$1EMBEDDING"이어야 합니다.
+ `segmentedEmbeddingParams`(필수)
  + `embeddingPurpose`(필수) - Nova Multimodal Embeddings를 사용하면 의도한 애플리케이션에 따라 임베딩을 최적화할 수 있습니다. MM-RAG, 이미지 및 비디오 검색을 위한 디지털 자산 관리, 멀티모달 콘텐츠에 대한 유사성 비교 또는 지능형 문서 처리를 위한 문서 분류를 예로 들 수 있습니다. `embeddingPurpose`를 사용하면 임베딩 사용 사례를 지정할 수 있습니다. 아래 사용 사례에 따라 올바른 값을 선택하세요.
    + **검색:** RAG 및 검색과 같은 임베딩 사용 사례에는 두 가지 주요 단계가 포함됩니다. 첫째, 콘텐츠에 대한 임베딩을 생성하여 인덱스를 생성하고, 둘째, 검색 중 인덱스에서 가장 관련성이 높은 콘텐츠를 검색합니다. 검색 사용 사례 작업 시 다음 값을 사용합니다.
      + 인덱싱:
        + "GENERIC\$1INDEX" - 벡터 데이터 스토어의 인덱스로 사용하는 데 최적화된 임베딩을 생성합니다. 인덱싱 중인 양식에 관계없이 이 값을 사용해야 합니다.
      + 검색: 검색 중인 콘텐츠 유형에 따라 임베딩을 최적화합니다.
        + "TEXT\$1RETRIEVAL" - 텍스트 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "IMAGE\$1RETRIEVAL" - "STANDARD\$1IMAGE" detailLevel로 생성된 이미지 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "VIDEO\$1RETRIEVAL" - "AUDIO\$1VIDEO\$1COMBINED" 임베딩 모드로 생성된 비디오 임베딩 또는 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "DOCUMENT\$1RETRIEVAL" - "DOCUMENT\$1IMAGE" detailLevel로 생성된 문서 이미지 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "AUDIO\$1RETRIEVAL" - 오디오 임베딩만 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
        + "GENERIC\$1RETRIEVAL" - 혼합 양식 임베딩이 포함된 리포지토리를 검색하는 데 최적화된 임베딩을 생성합니다.
      + 예제: 사용자가 텍스트 쿼리를 사용하여 이미지를 검색하는 이미지 검색 앱에서 이미지를 기반으로 임베딩 인덱스를 생성할 때는 `embeddingPurpose = generic_index`를 사용하고, 이미지를 검색하는 데 사용되는 쿼리의 임베딩을 생성할 때는 `embeddingPurpose = image_retrieval`을 사용하세요.
    + "CLASSIFICATION" - 분류를 수행하는 데 최적화된 임베딩을 생성합니다.
    + "CLUSTERING" - 클러스터링하는 데 최적화된 임베딩을 생성합니다.
  + `embeddingDimension`(선택 사항) - 생성할 벡터의 크기입니다.
    + 유형: int
    + 허용되는 값: 256 \$1 384 \$1 1024 \$1 3072
    + 기본값: 3072
  + `text`(선택 사항) - 텍스트 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `truncationMode`(필수) - 텍스트의 토큰화된 버전이 모델에서 지원하는 최댓값을 초과하는 경우 텍스트의 어느 부분이 잘릴지 지정합니다.
      + 유형: string
      + 허용된 값:
        + "START" - 필요한 경우 텍스트 시작 부분의 문자를 생략합니다.
        + "END" - 필요한 경우 텍스트 끝 부분의 문자를 생략합니다.
        + "NONE" - 텍스트 길이가 모델의 최대 토큰 제한을 초과하는 경우 실패합니다.
    + `value`(선택 사항, 값 또는 소스를 제공해야 함) - 임베딩을 생성할 텍스트 값입니다.
      + 유형: string
      + 최대 길이: 8,192자
    + `source`(선택 사항, 값 또는 소스를 제공해야 함) - S3에 저장된 텍스트 파일에 대한 참조입니다. SourceObject의 bytes 옵션은 텍스트 입력에는 적용되지 않습니다. 요청의 일부로 텍스트를 인라인으로 전달하려면 대신 value 파라미터를 사용하세요.
    + `segmentationConfig`(필수) - 텍스트 콘텐츠를 여러 임베딩으로 분할하는 방법을 제어합니다.
      + `maxLengthChars`(선택 사항) - 각 세그먼트에 허용할 최대 길이입니다. 모델은 단어 경계에서만 분할을 시도합니다.
        + 유형: int
        + 유효 범위: 800\$150,000
        + 기본값: 32,000
  + `image`(선택 사항) - 이미지 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `format`(필수)
      + 유형: string
      + 허용되는 값: "png" \$1 "jpeg" \$1 "gif" \$1 "webp"
    + `source`(필수) - 이미지 콘텐츠 소스입니다.
      + 유형: SourceObject('일반 객체' 섹션 참조)
    + `detailLevel`(선택 사항) - 이미지를 처리할 해상도를 지정합니다. "STANDARD\$1IMAGE"는 낮은 해상도를 사용하고, "DOCUMENT\$1IMAGE"는 텍스트를 더 정확하게 인식하기 위해 높은 해상도를 사용합니다.
      + 유형: string
      + 허용되는 값: "STANDARD\$1IMAGE" \$1 "DOCUMENT\$1IMAGE"
      + 기본값: "STANDARD\$1IMAGE"
  + `audio`(선택 사항) - 오디오 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `format`(필수)
      + 유형: string
      + 허용되는 값: "mp3" \$1 "wav" \$1 "ogg"
    + `source`(필수) - 오디오 콘텐츠 소스입니다.
      + 유형: SourceObject('일반 객체' 섹션 참조)
    + `segmentationConfig`(필수) - 오디오 콘텐츠를 여러 임베딩으로 분할하는 방법을 제어합니다.
      + `durationSeconds`(선택 사항) - 각 세그먼트에 사용할 오디오의 최대 재생시간(초)입니다.
        + 유형: int
        + 유효 범위: 1\$130
        + 기본값: 5
  + `video`(선택 사항) - 비디오 콘텐츠를 나타냅니다. 텍스트, 이미지, 비디오, 오디오 중 정확히 하나가 있어야 합니다.
    + `format`(필수)
      + 유형: string
      + 허용되는 값: "mp4" \$1 "mov" \$1 "mkv" \$1 "webm" \$1 "flv" \$1 "mpeg" \$1 "mpg" \$1 "wmv" \$1 "3gp"
    + `source`(필수) - 비디오 콘텐츠 소스입니다.
      + 유형: SourceObject('일반 객체' 섹션 참조)
    + `embeddingMode`(필수)
      + 유형: string
      + 값: "AUDIO\$1VIDEO\$1COMBINED" \$1 "AUDIO\$1VIDEO\$1SEPARATE"
        + "AUDIO\$1VIDEO\$1COMBINED" - 청각적 객체 콘텐츠와 시각적 객체 콘텐츠를 모두 결합한 각 세그먼트에 대해 단일 임베딩을 생성합니다.
        + "AUDIO\$1VIDEO\$1SEPARATE" - 각 세그먼트에 대해 두 개의 임베딩을 생성합니다. 하나는 오디오 콘텐츠용이고, 다른 하나는 비디오 콘텐츠용입니다.
    + `segmentationConfig`(필수) - 비디오 콘텐츠를 여러 임베딩으로 분할하는 방법을 제어합니다.
      + `durationSeconds`(선택 사항) - 각 세그먼트에 사용할 비디오의 최대 재생시간(초)입니다.
        + 유형: int
        + 유효 범위: 1\$130
        + 기본값: 5

**StartAsyncInvoke 응답**  
[StartAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_StartAsyncInvoke.html) 직접 호출의 응답 구조는 아래와 같습니다. `invocationArn`은 [GetAsyncInvoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetAsyncInvoke.html) 함수를 사용하여 비동기식 작업의 상태를 쿼리하는 데 사용할 수 있습니다.

```
{
    "invocationArn": "arn:aws:bedrock:us-east-1:xxxxxxxxxxxx:async-invoke/lvmxrnjf5mo3",
}
```

### 비동기식 출력
<a name="w2aac25c20b5c27"></a>

비동기식 임베딩 생성이 완료되면 출력 대상으로 지정한 S3 버킷에 출력 아티팩트가 작성됩니다. 파일 구조는 다음과 같습니다.

```
   amzn-s3-demo-bucket/
    job-id/
        segmented-embedding-result.json
        embedding-audio.jsonl
        embedding-image.json
        embedding-text.jsonl
        embedding-video.jsonl
        manifest.json
```

`segmented-embedding-result.json`에는 전체 작업 결과와 양식당 실제 임베딩을 포함하는 해당 jsonl 파일에 대한 참조가 포함됩니다. 다음은 잘린 파일의 예입니다.

```
{
    "sourceFileUri": string, 
    "embeddingDimension": 256 | 384 | 1024 | 3072,
    "embeddingResults": [
        {
            "embeddingType": "TEXT" | "IMAGE" | "VIDEO" | "AUDIO" | "AUDIO_VIDEO_COMBINED",
            "status": "SUCCESS" | "FAILURE" | "PARTIAL_SUCCESS",
            "failureReason": string, // Granular error codes
            "message": string, // Human-readbale failure message
            "outputFileUri": string // S3 URI to a "embedding-modality.jsonl" file
        }
        ...
    ]
}
```

`embedding-modality.json`은 각 양식에 대한의 임베딩 출력을 포함하는 jsonl 파일입니다. jsonl 파일의 각 줄은 다음 스키마를 따릅니다.

```
{
    "embedding": number[], // The generated embedding vector
    "segmentMetadata": {
        "segmentIndex": number,
        "segmentStartCharPosition": number, // Included for text only
        "segmentEndCharPosition": number, // Included for text only
        "truncatedCharLength": number, // Included only when text gets truncated
        "segmentStartSeconds": number, // Included for audio/video only
        "segmentEndSeconds": number // Included for audio/video only
    },
    "status": "SUCCESS" | "FAILURE",
    "failureReason": string, // Granular error codes
    "message": string // Human-readable failure message
}
```

다음 목록에는 응답에 대한 모든 파라미터가 포함되어 있습니다. 텍스트 문자 또는 오디오/비디오 시간의 경우 모든 시작 시간과 종료 시간은 0을 기준으로 합니다. 또한 모든 종료 텍스트 위치 또는 오디오/비디오 시간 값은 포괄적입니다.
+ `embedding`(필수) - 임베딩 벡터입니다.
  + 유형: 숫자
+ `segmentMetadata` - 세그먼트의 메타데이터입니다.
  + `segmentIndex` - 요청에 제공된 배열 내 세그먼트의 인덱스입니다.
  + `segmentStartCharPosition` - 텍스트 전용입니다. 세그먼트 내의 포함된 콘텐츠의 시작(포함) 문자 위치입니다.
  + `segmentEndCharPosition` - 텍스트 전용입니다. 세그먼트 내의 포함된 콘텐츠의 종료 문자(제외) 위치입니다.
  + `truncatedCharLength`(선택 사항) - 입력 텍스트의 토큰화된 버전이 모델의 제한을 초과한 경우 반환됩니다. 임베딩 생성 전 값이 나타내는 문자 다음에 텍스트가 잘렸습니다.
    + 유형: 정수
  + `segmentStartSeconds` - 오디오/비디오 전용입니다. 세그먼트 내의 포함된 콘텐츠의 시작 시간 위치입니다.
  + `segmentEndSeconds` - 오디오/비디오 전용입니다. 세그먼트 내의 포함된 콘텐츠의 종료 시간 위치입니다.
+ `status` - 세그먼트의 상태입니다.
+ `failureReason` - 세그먼트 실패의 자세한 원인입니다.
  + `RAI_VIOLATION_INPUT_TEXT_DEFLECTION` - 입력 텍스트가 RAI 정책을 위반합니다.
  + `RAI_VIOLATION_INPUT_IMAGE_DEFLECTION` - 입력 이미지가 RAI 정책을 위반합니다.
  + `INVALID_CONTENT` - 잘못된 입력입니다.
  + `RATE_LIMIT_EXCEEDED` - 서비스 사용 불가로 인해 임베딩 요청이 스로틀링됩니다.
  + `INTERNAL_SERVER_EXCEPTION` - 문제가 발생했습니다.
+ `message` - 관련 실패 메시지입니다.

## Nova Embeddings에 대한 파일 제한 사항
<a name="w2aac25c20b7"></a>

동기식 작업은 S3 입력과 인라인 청크 모두 수락할 수 있습니다. 비동기식 작업은 S3 입력만 수락할 수 있습니다.

비동기식으로 임베딩을 생성할 때 파일이 적절한 수의 세그먼트로 분리되어 있는지 확인해야 합니다. 텍스트 임베딩의 경우 세그먼트는 1,900개를 초과할 수 없습니다. 오디오 및 비디오 임베딩의 경우 세그먼트는 1,434개를 초과할 수 없습니다.


**동기식 입력 크기 제한**  

|  파일 형식  |  크기 제한  | 
| --- | --- | 
|  (인라인) 모든 파일 유형  |  25MB  | 
|  (S3) 텍스트  |  1MB, 50,000자  | 
|  (S3) 이미지  |  50MB  | 
|  (S3) 비디오  |  30초, 100MB  | 
|  (S3) 오디오  |  30초, 100MB  | 

**참고**  
25MB 인라인 파일 제한은 Base64 임베딩 **이후**에 적용됩니다. 이로 인해 파일 크기가 약 33% 증가합니다.


**비동기식 입력 크기 제한**  

|  파일 형식  |  크기 제한  | 
| --- | --- | 
|  (S3) 텍스트  |  634MB  | 
|  (S3) 이미지  |  50MB  | 
|  (S3) 비디오  |  2GB, 2시간  | 
|  (S3) 오디오  |  1GB, 2시간  | 


**입력 파일 유형**  

|  양식  |  파일 유형  | 
| --- | --- | 
|  이미지 형식  |  PNG, JPEG, WEBP, GIF  | 
|  오디오 형식  |  MP3, WAV, OGG  | 
|  비디오 형식  |  MP4, MOV, MKV, WEBM, FLV, MPEG, MPG, WMV, 3GP  | 