編輯

共用方式為


Azure AI 搜尋服務常見問題集

尋找 Azure AI 搜尋服務常見問題的解答。

一般

什麼是 Azure AI 搜尋服務?

Azure AI 搜尋服務是可搜尋內容的專用搜尋引擎,並提供持續性儲存體,適用於全文檢索和向量搜尋案例, 亦包括選用的整合式 AI,可從原始內容中擷取更多文字和結構,向量搜尋時也可將內容分成區塊和向量化。

如何使用 Azure AI 搜尋服務?

主要工作流程是建立、載入和查詢索引。 雖然多數工作都可使用入口網站,但 Azure AI 搜尋服務旨在透過程式設計的方式,處理用戶端程式碼提出的要求。 程式設計方面,可透過適用於 Azure 的 .NET、Python、Java 和 JavaScript SDK 的 REST API 和用戶端程式庫提供支援。

「Azure 搜尋服務」和「Azure 認知搜尋」和「Azure AI 搜尋服務」是否是相同產品?

Azure 搜尋服務在 2019 年 10 月重新命名為 Azure 認知搜尋,以反映其在服務作業中擴大了認知技能和 AI 處理的使用量 (但為選擇性)。 Azure 認知搜尋於 2023 年 10 月重新命名為 Azure AI 搜尋服務,以符合 Azure AI 服務。

支援哪些語言?

針對向量,您使用的內嵌模型會決定語言體驗。

對於非函式字串和數位,用於標記化的預設分析器是標準 Lucene,而且與語言無關。 否則,語言支援將會透過語言分析器將語言規則套用至輸入 (索引編制) 和輸出 (查詢) 內容的方式執行。 某些功能,例如拼字檢查,僅適用於一部分的語言。

如何將搜尋整合到我的解決方案中?

用戶端程式代碼應該呼叫 Azure SDK 用戶端連結庫或 REST API,以連線到搜尋索引、制定查詢及處理回應。 您也可以撰寫程式碼來建置及重新整理索引,或者以程式設計方式或指令檔執行索引子。

各種 API 之間是否有功能同位?

不一定。 在預覽 API 版本中,REST API 永遠會率先實作新功能。 Azure SDK 中的用戶端程式庫會逐步增加新的功能,但會依自己的排程推出。

雖然 REST API 會率先推出最新功能,但 Azure SDK 能提供更多的程式碼支援,因此除非無法使用必要的功能,否則建議使用 Azure SDK 而非 REST。

我可以暫停服務並停止計費嗎?

您無法暫停搜尋服務。 在 Azure AI 搜尋服務中,計算資源會在服務建立時配置。 您無法視需要釋放及回收這些資源。

我可以升級、降級、重新命名或移動服務嗎?

服務層級、名稱和區域在服務的存留期內是固定的。

如果我將搜尋服務移轉到了另一個訂閱或資源群組,我是否會遇到任何停機時間?

只要您在移動資源之前有遵循檢查清單,並確定每個步驟都有完成,就不應該會有任何停機時間。

編製索引

Azure AI 搜尋服務中的「編製索引」是什麼意思?

它指的是擷取、剖析和儲存填入搜尋索引的文字內容和權杖。 索引編制會建立反向索引和其他支援資訊擷取的實體資料結構。

如果結構描述包含向量欄位,則會建立向量索引。

我可以移動、備份和還原索引嗎?

我們並沒有針對索引移植提供原生支援。 搜尋索引被視為下游資料結構,負責接受來自其他收集運算資料的資料來源內容。 因此,備份和還原索引沒有內建支援,因為我們預期您在刪除索引或想要移動索引時,會使用來源資料重建索引。

不過,如果您想要在搜尋服務之間移動索引,您可以在嘗試使用此 Azure AI 搜尋服務 .NET 範例存放庫中的 index-backup-restore 範例程式碼。 另也有 Python 版本的備份與還原

已刪除的索引或服務是否可以還原?

否,如果您刪除了 Azure AI 搜尋服務索引或服務,就無法復原。 當您刪除搜尋服務時,服務中所有索引都會永久刪除。

我可以從 SQL Database 複本編制索引嗎?

如果您使用的是 Azure SQL Database 的搜尋索引子,則在從頭開始建置索引時,您可以使用主要或次要複本做為資料來源而沒有任何限制。 不過,使用累加式更新重新整理索引 (根據變更的記錄) 則需要主要複本。 這項需求是來自 SQL Database,以保證只對主要複本進行變更追蹤。 如果您嘗試針對索引重新整理工作負載使用次要複本,則不保證會取得所有資料。

向量

什麼是向量搜尋?

向量搜尋技術可比對向量表示法來尋找最類似的文件。 向量表示法係為了擷取項目數值格式的基本特性,因此向量查詢可識別類似內容,即使關鍵字或標籤找不到明確相符的項目也沒關係。 使用者執行搜尋時,查詢會以向量表示法進行摘要,而向量搜尋引擎會識別最相似的文件。 為了提升大型資料庫的效率,向量搜尋通常能針對特定查詢向量,提供近似最近鄰項目。 如需 Azure AI 搜尋服務提供的向量特性,請參閱向量搜尋概觀

Azure AI 搜尋服務是否支援向量搜尋?

Azure AI 搜尋服務支援向量索引編製和擷取, 若您使用預覽和搶鮮版 (Beta) 程式庫,可將查詢字串和內容向量化。

向量搜尋在 Azure AI 搜尋服務中如何運作?

獨立向量搜尋必須先使用內嵌模型,在內嵌空間內將內容轉換成向量表示法。 接著,您可透過文件承載,將這些向量提供給搜尋索引,以進行索引編製。 若要提供搜尋要求,您可以使用相同的深度神經網路(DNN)從編製索引,將搜尋查詢轉換成向量表示法,而向量搜尋會尋找最類似的向量,並傳回對應的檔。

在 Azure AI 搜尋服務中,除了文字和其他類型的內容,您可針對向量資料進行索引編製,成為文件中的欄位。 向量欄位有多個 數據類型

向量查詢可獨立發出,也可伴隨字詞查詢和篩選條件等其他查詢類型在同一搜尋要求中發出。

Azure AI 搜尋服務可將我的內容或查詢向量化嗎?

內建整合向量化 現在處於公開預覽狀態。

我的搜尋服務是否支援向量搜尋?

大部分現有的服務都支援向量搜尋。 若您使用支援向量搜尋的套件或 API,但索引建立失敗,這代表基礎搜尋服務不支援向量搜尋,必須建立新的服務。 2019 年 1 月 1 日前建立的一小部分服務可能會有此情形。

我可以將向量搜尋新增至現有索引嗎?

如果您的搜尋服務支援向量搜尋,則現有索引和新索引都可以容納向量欄位。

為什麼新的搜尋服務和現有搜尋服務的向量索引大小限制不同?

我們正針對新的搜尋服務,在全球推出改善後的向量索引大小限制,但我們在特定區域仍在建置基礎結構容量。 在支援區域新建立的搜尋服務中,其向量索引大小限制會提高。 然而,我們無法調整現有服務的限制。

如何啟用搜尋索引的向量搜尋?

若要啟用索引的向量搜尋,您應:

  • 將一或多個向量欄位新增至欄位集合。

  • 將 "vectorSearch" 區段新增至索引結構描述,指定向量搜尋欄位使用的設定,包括所使用的近似最近鄰項目演算法參數,例如 HNSW。

  • 使用 2023-11-01 或更新版本、Azure SDK 來建立或更新索引、載入檔和發出查詢。

查詢

查詢會在哪裡執行?

查詢會在您搜尋服務上裝載的單一搜尋索引上執行。 您不能聯結多個索引以用兩個以上的索引搜尋內容,但您可以在多個搜尋服務中查詢同名的索引

為什麼我認為有效的字詞沒有任何相符項目?

最常見的情況是不知道每種查詢類型支援不同的搜尋行為和語言分析層級。 請針對主要工作負載的全文檢索搜尋,加入語言分析階段,以將字詞分解到根形式。 這種查詢剖析可以擴展可能的相符項目範圍,因為語彙基元化的字詞會符合更多變體。

不過,萬用字元、模糊和 Regex 查詢的分析方式不像一般的字詞或片語查詢,且如果查詢不符合搜尋索引中的文字分析形式,就會造成不良的重新叫用。 如需有關查詢剖析和分析的詳細資訊,請參閱查詢架構

為什麼我的萬用字元搜尋速度很慢?

諸如前置詞、模糊和 Regex 等大部分的萬用字元搜尋查詢,都是使用搜尋索引中相符的的字詞,在內部重新寫入。 這項額外處理會增加延遲。 此外,廣泛搜尋查詢 (例如 a*) 可能會用許多字詞重新撰寫,導致非常緩慢。 對於高效能的萬用字元搜尋,請考量定義自訂分析器

我可以搜尋多個索引嗎?

否,查詢的範圍一律是單一索引。

為什麼每次比對的搜尋分數都是 1.0?

系統會根據相符字詞的統計屬性,針對全文檢索搜尋產生搜尋評分,並在結果集中由高排到低。 不屬於全文檢索搜尋的查詢類型 (萬用字元、前置詞、RegEx) 不會依相關性分數來排名。 這是依照設計的行為。 常數分數可讓透過查詢擴充找到的相符項目包含在結果中,但不會影響排名。

例如,假設在萬用字元搜尋中輸入 "tour*" 會產生 "tours"、"tourettes" 和 "tourmaline" 的相符項目。 考慮到這些結果的本質,便無法合理推斷哪些詞彙較其他詞彙更有價值。 基於這個理由,當評分導致萬用字元、前置詞和 Regex 的查詢類型時,我們會忽略字詞頻率。 依據部分輸入的搜尋結果會得到一個常數分數,以避免可能無法預期的相符項目偏差。

安全性

Azure AI 搜尋服務會在哪裡儲存客戶資料?

它會將數據儲存在 部署服務的地理位置 (Geo) 中。 Microsoft 可能會在相同地理位置內復寫您的數據,以達到高可用性和持久性。 如需詳細資訊,請參閱 Azure 中的數據落地。

Azure AI 搜尋服務是否會將客戶資料傳送至其他服務以進行處理?

是,技能與向量化工具會從 Azure AI 搜尋服務對您為內嵌或聊天指定的其他 Azure 資源或外部模型進行輸出呼叫。 呼叫這些 API 通常包含要處理的原始內容,或由內嵌模型向量化的查詢。 針對 Azure 對 Azure 連線,服務會透過內部網路傳送要求。 如果您新增自定義技能或向量化工具,索引器會透過公用網路將內容傳送至自定義技能中提供的 URI,除非您設定 共用的私人連結

Azure AI 搜尋服務是否處理其他區域中的客戶數據?

處理(向量化或套用的 AI 轉換)是在裝載技能所使用的 Azure AI 服務、Azure 應用程式或裝載自定義技能的 Azure 應用程式或函式的 Geo 中執行,或是裝載已部署模型的 Azure OpenAI 或 Azure AI Studio 區域。 這些資源是由您指定,因此您可以選擇是否要在與搜尋服務相同的地理位置中布建資源

如果您將數據傳送至外部(非 Azure)模型或服務,處理位置是由外部服務所決定。

我是否可以根據使用者身分識別來控制搜尋結果的存取權?

如果您實作將檔與使用者身分識別產生關聯的解決方案,則可以。 一般而言,授權執行應用程式的使用者也會得到查看所有搜尋結果的權限。 Azure AI 搜尋服務沒有資料列層級或文件層級權限的內建支援,但您可以實作安全性篩選條件作為因應措施。 如需步驟和腳本,請參閱 使用RAG開始使用 Python 企業聊天範例。

我是否可以根據使用者身分識別控制作業的存取權?

是,您可使用角色型授權,針對內容進行資料平面作業。

如果搜尋服務位於 IP 防火牆或私人端點後方,我是否可以用 Azure 入口網站來檢視和管理搜尋內容?

如果您建立了允許用戶端和入口網站存取的網路例外狀況,您就可以在受保護網路的搜尋服務上使用 Azure 入口網站。 如需詳細資訊,請參閱透過 IP 防火牆連線透過私人端點連線

下一步

如果您的問題並未在此獲得解答,您可以參考下列資源以取得更多問題和答案。

Stack Overflow:Azure AI 搜尋服務
全文檢索搜尋如何在 Azure AI 搜尋服務中運作
什麼是 Azure AI 搜尋服務?