Azure AI 搜尋) 支援的數據類型 (

本文說明 Azure AI 搜尋 所支援的數據類型。 篩選表達式中使用的欄位和值會根據 實體數據模型 (EDM) 來輸入。 指定 EDM 資料類型是欄位定義的需求。

注意

如果您使用索引器,請參閱 Azure AI 中索引器的數據類型對應 搜尋,以取得索引器如何將來源特定數據類型對應至搜尋索引中的 EDM 數據類型的詳細資訊。

向量欄位的 EDM 資料類型

向量欄位類型對於內嵌模型的輸出必須有效。 例如,如果您使用 text-embedding-ada-002,則輸出格式為 Float32Collection(Edm.Single)。 在此案例中,您無法指派 Int8 數據類型,因為禁止從 floatint 轉換成基本類型。 不過,您可以從轉換成 Float32Float16(Collection(Edm.Half))

向量欄位是內嵌的陣列。 在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 資料類型

資料類型 描述
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.fffZyyyy-MM-ddTHH:mm:ss.fff[+|-]HH:mm。 欄位的有效 DateTimeOffset 位數限制為毫秒。 如果您上傳 DateTimeOffset 具有子毫秒精確度的值,傳回的值會四捨五入為毫秒 (,例如, 2024-04-15T10:30:09.7552052Z 傳回的值會以) 傳 2024-04-15T10:30:09.7550000Z 回。 當您將具有時區資訊的值上傳DateTimeOffset至索引時,Azure AI 搜尋 將這些值正規化為 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 集合的項目數目上限有限制。 如需詳細資訊,請參閱 服務限制

上述所有類型都是可為 Null 的,但基本型別和複雜類型的集合除外,例如 。 Collection(Edm.String) 可為 null 的欄位可以明確設定為 null。 當從上傳至 Azure AI 搜尋 索引的檔中省略時,它們會自動設定為 null。 當從檔中省略集合欄位時, [] 集合欄位會自動設定為 JSON) 中的空白 (。 此外,也無法將 Null 值儲存在集合欄位中。

不同於複雜的集合,基本類型集合中的項目數目沒有特別的上限,但 承載大小的 16 MB 上限 會套用至檔的所有部分,包括集合。

篩選表達式中使用的地理空間數據類型

在 Azure AI 搜尋 中,地理空間搜尋會以篩選方式表示。

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 [起點]。

另請參閱