QnA Maker 中的知識庫生命週期
QnA Maker 在反覆的週期中學習模型變更、語句範例、發佈資料以及從端點查詢收集資料時,會有最佳學習成效。
注意
QnA Maker 服務即將於 2025 年 3 月 31 日淘汰。 較新版的問題和解答功能現在隨附於 Azure AI 語言。 如需瞭解語言服務內的問題解答功能,請參閱問題解答。 從 2022 年 10 月 1 日開始,您將無法建立新的 QnA Maker 資源。 如需將現有 QnA Maker 知識庫移轉至問題解答的相關資訊,請參閱移轉指南。
建立 QnA Maker 知識庫
QnA Maker 知識庫 (KB) 端點會根據知識庫的內容對使用者查詢提供最相符的解答。 建立知識庫是指為問題、解答和相關聯的中繼資料設定內容存放庫的一次性動作。 您可以透過為預先存在的內容進行編目來建立 KB,例如下列來源:
- 常見問題集頁面
- 產品手冊
- Q-A 組
了解如何建立知識庫。
測試和更新知識庫
知識庫在填入內容 (透過編輯或自動擷取) 後即可供測試。 您可以在 QnA Maker 入口網站中,透過 [測試] 面板來完成互動式測試。 您輸入一般使用者查詢。 然後,確認傳回回應具有正確回應和足夠的信賴分數。
- 若要修正偏低的信賴分數:新增替代問題。
- 當查詢不正確地傳回預設回應時:將新的解答新增至正確的問題。
「測試-更新」的這個密封迴圈會持續執行,直到您得到滿意的結果為止。 了解如何測試知識庫。
針對大型 KB,請搭配 generateAnswer API 和 isTest
主體屬性使用自動化測試,其會查詢 test
知識庫,而不是已發佈的知識庫。
{
"question": "example question",
"top": 3,
"userId": "Default",
"isTest": true
}
發佈知識庫
完成知識庫的測試後,您即可發佈知識庫。 在發佈時,會將經過測試的最新版知識庫推送至代表已發佈知識庫的專用 Azure AI 搜尋服務索引。 它也會建立可在您的應用程式或聊天機器人中呼叫的端點。
由於發佈動作的緣故,任何對知識庫測試版本所做的進一步變更都不會對已發佈的版本產生影響。 已發佈的版本可能存在於生產應用程式中。
這些知識庫全都可以個別進行測試。 使用 API,您可以在 generateAnswer 呼叫中搭配 isTest
主體屬性,將測試版的知識庫設為目標。
了解如何發佈知識庫。
監視器使用狀況
若要能夠記錄服務的聊天記錄,您必須在建立 QnA Maker 服務時啟用 Application Insights。
您可以取得服務使用情形的各種分析。 深入了解如何使用 Application Insights 取得 QnA Maker 服務的分析。
您可以根據從分析得出的結論,適當更新您的知識庫。
知識庫中資料的版本控制
資料的版本控制是透過 QnA Maker 入口網站中 [設定] 頁面上的匯入/匯出功能提供。
您可以使用 .tsv
或 .xls
格式來匯出知識庫,以備份知識庫。 一旦匯出之後,請納入此檔案以作為定期原始檔控制檢查的一部分。
當您需要回到特定版本時,您需要從本機系統匯入該檔案。 匯出的知識庫必須只能透過 [設定] 頁面上的匯入使用。 其無法當作檔案或 URL 文件資料來源使用。 這將會以匯入檔案的內容取代知識庫中目前的問題和解答。
測試和生產知識庫
知識庫是透過 QnA Maker 建立、維護和使用之問答集的存放庫。 每個 QnA Maker 資源均可保留多個知識庫。
知識庫有兩種狀態:「測試」和「已發佈」。
測試知識庫
「測試知識庫」是目前已編輯和儲存的版本。 測試版本已通過正確性和回應完整性的測試。 對測試知識庫所做的變更,不會對應用程式或聊天機器人的終端使用者產生影響。 測試知識庫在 HTTP 要求中稱為 test
。 您可以透過 QnA Maker 的入口網站互動式 [測試] 窗格來取得 test
知識。
生產知識庫
「已發佈的知識庫」是聊天機器人或應用程式中所使用的版本。 發佈知識庫會將其測試版本的內容放入其已發佈版本中。 發佈的知識庫是應用程式透過端點所使用的版本。 請確定內容正確且已經過妥善測試。 發佈的知識庫在 HTTP 要求中稱為 prod
。