註
Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。
Important
標記(預覽)的功能、能力或屬性不受服務等級協議涵蓋,也不建議用於生產工作負載,且在正式上架前可能會有所變動或受限。 Azure AI 搜尋服務 預覽條款適用於所有預覽功能,無論是獨立功能還是正式推出功能的一部分。
語意排名會對初始結果集進行迭代,採用第二語言排名方法,將語意相關的結果提升到堆疊頂端。 你也可以獲得語意標籤,以強調最相關的術語和片語,以及語意 答案。
本文說明如何設定語意重排序的搜尋索引。
註
如果你有現有的程式碼呼叫預覽版或先前的 API 版本,請參閱 「遷移語意排名程式碼」 以獲得修改程式碼的協助。
先決條件
提供語意排名的任何區域中的 Azure AI 搜尋服務。
一個包含豐富文字內容的現有搜尋索引。 語意排序適用於字串(非向量)欄位,效果最佳於資訊性或描述性內容。
在 Azure AI 搜尋服務 上建立及使用物件的權限。 我們建議使用 基於角色的存取,但如果角色指派不可行,也可以使用 API 金鑰 。 欲了解更多資訊,請參閱 「連接搜尋服務」。
搜尋服務 REST API 的 2026-08-01 預覽 版。
選擇客戶
你可以在新設或現有索引上指定語意配置,使用以下任何工具與軟體開發套件(SDK)來新增語意配置:
- Azure Portal,利用索引設計器加入語意配置。
- Visual Studio Code搭配 REST 客戶端 以及 建立或更新索引(REST)API。
- 適用於 .NET 的 Azure SDK
- 適用於 Python 的 Azure SDK
- 適用於 Java 的 Azure SDK
- Azure SDK 用於 JavaScript
新增語意配置
有些工作負載會自動建立語意配置。 如果你使用 agentic retrieval 以及一個會在 Azure AI 搜尋服務 上索引內容的知識來源,那麼你產生的索引已經有適合內容的語意配置。
Tip
從 API 版本開始 2026-05-01-preview ,支援的代理檢索知識庫流程不需要明確的語意設定。 此例外不適用於經典語意排名查詢或較舊的 API 版本。 欲了解更多資訊,請參閱 建立搜尋索引知識來源。
其他工作負載,你可以自己設定語意配置。 語意配置是你索引中的一個區塊,用來建立用於語意排序的欄位輸入。 你可以隨時新增或更新語意設定,無需重建。 如果你建立多個設定,可以指定預設值。 在查詢時,請在 查詢請求中指定語意設定,或保持空白以使用預設值。
你可以在單一索引中建立多達 100 種語意配置。
語意配置有一個名稱及以下特性:
| 財產 | 特徵 |
|---|---|
| 標題欄位 | 一串短字,理想是25字以內。 此欄位可以是文件標題、產品名稱或唯一識別碼。 如果你沒有合適的欄位,就留空。 |
| 內容欄位 | 較長的自然語言文本區塊,受到機器學習模型 最大詞元輸入限制。 常見的例子包括文件正文、產品描述或其他自由形式文字。 |
| 關鍵字欄位 | 關鍵字清單,例如文件上的標籤,或描述性詞彙,例如項目的類別。 |
你只能指定一個標題欄位,但你可以設定任意數量的內容和關鍵字欄位。 對於內容和關鍵字欄位,請依優先順序列出,因為優先權較低的欄位可能會被截斷。
在所有語意配置屬性中,你指派的欄位必須是:
- 歸因於
searchable和retrievable - 類型為
Edm.String、Collection(Edm.String)和Edm.ComplexType的字串子欄位
在Azure 入口網站中,進入您的搜尋服務。
在左側導覽窗格的 索引 中,選擇一個索引。
選擇語 意配置 ,然後選擇 新增語意配置。
在 新的語意配置 頁面,輸入語意配置名稱,並選擇語意配置中要使用的欄位。 只有可搜尋且可檢索的字串欄位才符合資格。 務必依優先順序列出內容欄位和關鍵字欄位。
選擇 儲存 以儲存設定。
在索引頁面再次選擇 儲存 ,以儲存索引中的語意設定。
選擇加入預發布語意排名模型(預覽)
利用提供該屬性的 preview REST API 以及預覽Azure SDK,你可以選擇性地設定索引,使其使用預發布的語意排名模型(如果在你的區域部署)。 沒有機制能知道是否有預釋版本,或是否用於特定查詢。 因此,我們建議你在測試環境中使用此特性,且僅限於你有興趣嘗試最新語意排名模型時。
配置屬性為 "flightingOptIn": true,且設定在索引的語意配置區塊中。 該屬性預設為空或假。 你可以隨時在建立或更新請求中設定為真,且這會影響未來的語意查詢,前提是查詢規定包含該屬性的語意設定。
PUT https://myservice.search.windows.net/indexes('hotels')?allowIndexDowntime=False&api-version=2026-08-01-preview
{
"name": "hotels",
"fields": [ ],
"scoringProfiles": [ ],
"defaultScoringProfile": "geo",
"suggesters": [ ],
"analyzers": [ ],
"corsOptions": { },
"encryptionKey": { },
"similarity": { },
"semantic": {
"configurations": [
{
"name": "semanticHotels",
"prioritizedFields": {
"titleField": {
"fieldName": "hotelName"
},
"prioritizedContentFields": [
{
"fieldName": "description"
},
{
"fieldName": "description_fr"
}
],
"prioritizedKeywordsFields": [
{
"fieldName": "tags"
},
{
"fieldName": "category"
}
],
"flightingOptIn": true
}
}
]
},
"vectorSearch": { }
}
下一步
透過執行語意查詢來測試你的語意設定。