지원되는 데이터 형식(Azure AI Search)

이 문서에서는 Azure AI Search 지원하는 데이터 형식에 대해 설명합니다. 필터 식에 사용되는 필드 및 값은 EDM(엔터티 데이터 모델)에 따라 입력됩니다. EDM 데이터 형식을 지정하는 것은 필드 정의에 대한 요구 사항입니다.

참고

인덱서를 사용하는 경우 인덱서가 원본별 데이터 형식을 검색 인덱스의 EDM 데이터 형식에 매핑하는 방법에 대한 자세한 내용은 Azure AI Search 인덱서에 대한 데이터 형식 맵을 참조하세요.

벡터 필드의 EDM 데이터 형식

벡터 필드 형식은 포함 모델의 출력에 유효해야 합니다. 예를 들어 text-embedding-ada-002를 사용하는 경우 출력 형식은 또는 Collection(Edm.Single)입니다Float32. 이 시나리오에서는 에서 float 기본 형식으로 캐스팅이 Int8 금지되어 있으므로 데이터 형식을 할당할 int 수 없습니다. 그러나 에서 Float32 또는 (Collection(Edm.Half))로 캐스팅할 Float16 수 있습니다.

벡터 필드는 포함 배열입니다. EDM에서 배열은 컬렉션입니다.

데이터 형식 벡터 형식 Description 권장되는 사용
Collection(Edm.Single) Float32 32비트 부동 소수점. 인덱스 만들기 또는 업데이트(2023-07-01-Preview)부터 사용할 수 있습니다. 이 데이터 형식은 최신 미리 보기 버전 및 안정적인 버전 2023-11-01에서도 지원됩니다. 사용자를 대신하여 벡터 필드를 만드는 Microsoft 도구의 기본 데이터 형식입니다. 정밀도와 효율성 간의 균형을 조정합니다. 대부분의 포함 모델은 벡터를 로 Float32내보낸다.
Collection(Edm.Half) Float16 정밀도 및 범위가 낮은 16비트 부동 소수점입니다. 인덱스 만들기 또는 업데이트(2024-03-01-preview)부터 사용할 수 있습니다. 메모리 및 계산 효율성이 중요하고 일부 정밀도를 희생하는 것이 허용되는 시나리오에 유용합니다. 정확도가 약간 낮아도 에 비해 쿼리 시간이 빨라지고 메모리 공간이 감소하는 Float32경우가 많습니다. 형식을 Float16 인덱 Float32 싱 포함에 로 할당할 수 있습니다 Float16. 기본적으로 내보내 Float16 는 모델 또는 사용자 지정 양자화 프로세스를 포함하는 데 를 사용할 Float16 수도 있습니다.
Collection(Edm.Int16) Int16 부인 16비트 정수입니다. 인덱스 만들기 또는 업데이트(2024-03-01-preview)부터 사용할 수 있습니다. 많은 애플리케이션에 대해 충분한 정밀도를 Float32 유지하면서 높은 정밀도 정량화 메서드에 비해 메모리 공간을 줄이고 지원합니다. 메모리 효율성이 중요한 경우에 적합합니다. 벡터를 로 Int16출력하는 사용자 지정 양자화가 있어야 합니다.
Collection(Edm.SByte) Int8 부인 8비트 정수입니다. 인덱스 만들기 또는 업데이트(2024-03-01-preview)부터 사용할 수 있습니다. 또는 Float16에 비해 상당한 메모리 및 계산 효율성 향상을 Float32 제공합니다. 그러나 정밀도의 감소를 상쇄하고 적절하게 회수하려면 추가 기술(예: 양자화 및 초과 샘플링)이 필요할 수 있습니다. 벡터를 로 Int8출력하는 사용자 지정 양자화가 있어야 합니다.

비벡터 필드의 EDM 데이터 형식

데이터 형식 Description
Edm.String 텍스트 데이터입니다.
Edm.Boolean true/false 값을 포함합니다.
Edm.Int32 32비트 정수 값입니다.
Edm.Int64 64비트 정수 값입니다.
Edm.Double 배정밀도 IEEE 754 부동 소수점 값입니다.
Edm.DateTimeOffset OData V4 형식으로 표시되는 날짜 및 시간 값( yyyy-MM-ddTHH:mm:ss.fffZ 또는 yyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm)입니다. 필드의 DateTimeOffset 정밀도는 밀리초로 제한됩니다. 하위밀리초 정밀도로 값을 업로드 DateTimeOffset 하면 반환된 값이 밀리초 단위로 반올림됩니다(예 2024-04-15T10:30:09.7552052Z : 로 반환 2024-04-15T10:30:09.7550000Z됨). 표준 시간대 정보가 포함된 값을 인덱스에 업로드 DateTimeOffset 하면 Azure AI Search 이러한 값을 UTC로 정규화합니다. 예를 들어 2024-01-13T14:03:00-08:00 은 로 2024-01-13T22:03:00Z저장됩니다. 표준 시간대 정보를 저장해야 하는 경우 인덱싱에 필드를 추가합니다.
Edm.GeographyPoint 전 세계의 지리적 위치를 나타내는 지점입니다. 요청 및 응답 본문의 경우 이 형식의 값 표현은 GeoJSON "Point" 형식 형식을 따릅니다. URL의 경우 OData는 WKT 표준에 따라 리터럴 양식을 사용합니다. 지점 리터럴은 geography'POINT(lon lat)'으로 구성됩니다.
Edm.ComplexType 속성이 지원되는 다른 데이터 형식일 수 있는 하위 필드에 매핑되는 개체입니다. 이 형식을 사용하면 JSON과 같은 구조화된 계층적 데이터를 인덱싱할 수 있습니다. 형식 Edm.ComplexType 의 필드에 있는 개체는 중첩된 개체를 포함할 수 있지만 중첩 수준은 제한적입니다. 제한은 서비스 제한에 설명되어 있습니다.
Collection(Edm.String) 문자열 목록입니다.
Collection(Edm.Boolean) 부울 값 목록입니다.
Collection(Edm.Int32) 32비트 정수 값 목록입니다.
Collection(Edm.Int64) 64비트 정수 값 목록입니다.
Collection(Edm.Double) 배정밀도 숫자 값 목록입니다.
Collection(Edm.DateTimeOffset) 날짜 시간 값 목록입니다.
Collection(Edm.GeographyPoint) 지리적 위치를 나타내는 지점 목록입니다.
Collection(Edm.ComplexType) 형식의 개체 목록입니다 Edm.ComplexType. 문서의 모든 형식 Edm.ComplexType 컬렉션에서 최대 요소 수에 제한이 있습니다. 자세한 내용은 서비스 제한을 참조하세요.

위의 모든 형식은 기본 형식 및 복합 형식의 컬렉션(예 Collection(Edm.String): )을 제외하고 null 허용됩니다. nullable 필드는 명시적으로 null로 설정할 수 있으며, Azure AI Search 인덱스로 업로드된 문서에서 생략하면 자동으로 null로 설정됩니다. 컬렉션 필드는 문서에서 생략되면 자동으로 비어 있음([] JSON)으로 설정됩니다. 또한 컬렉션 필드에 null 값을 저장할 수 없습니다.

복잡한 컬렉션과 달리 기본 형식 컬렉션의 항목 수에 대한 상한은 없지만 페이로드 크기에 대한 16MB 상한 은 컬렉션을 포함한 문서의 모든 부분에 적용됩니다.

필터 식에 사용되는 지리 공간적 데이터 형식

Azure AI Search 지리 공간적 검색은 필터로 표현됩니다.

Edm.GeographyPolygon은 지역을 나타내는 다각형입니다. 이 형식은 문서 필드에 사용할 수 없지만 함수에 대한 인수 geo.intersects 로 사용할 수 있습니다. OData의 URL에 대한 리터럴 형식은 WKT(잘 알려진 텍스트) 및 OGC의 간단한 기능 액세스 표준을 기반으로 합니다. 다각형 리터럴은 geography'POLYGON((lon lat, lon lat, ...))'로 구성됩니다.

중요

다각형의 점이 시계 반대 방향으로 정렬되어야 합니다 . 다각형의 점들은 다각형의 내부를 기준으로 시계 반대 방향으로 해석됩니다. 예를 들어 런던 주변의 4포인트 닫힌 다각형은 -0.3°W 51.6°N [왼쪽 위] , -0.3°W 51.4°N [왼쪽 아래], 0.1°E 51.4°N [오른쪽 아래], 0.1°E 51.6°N [오른쪽 위], -0.3°W 51.6°N [시작점].

추가 정보