Azure AI 搜尋) 支援的數據類型 (
本文說明 Azure AI 搜尋 所支援的數據類型。 篩選表達式中使用的欄位和值會根據 實體數據模型 (EDM) 來輸入。 指定 EDM 資料類型是欄位定義的需求。
注意
如果您使用索引器,請參閱 Azure AI 中索引器的數據類型對應 搜尋,以取得索引器如何將來源特定數據類型對應至搜尋索引中的 EDM 數據類型的詳細資訊。
向量欄位的 EDM 資料類型
向量欄位類型對於內嵌模型的輸出必須有效。 例如,如果您使用 text-embedding-ada-002,則輸出格式為 Float32
或 Collection(Edm.Single)
。 在此案例中,您無法指派 Int8
數據類型,因為禁止從 float
int
轉換成基本類型。 不過,您可以從轉換成 Float32
Float16
或 (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.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 搜尋 將這些值正規化為 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 [起點]。