適用於 Azure Machine Learning 的索引查閱工具 (預覽)
提示流程索引查閱工具可讓您使用常見的向量索引 (例如 Azure AI 搜尋服務、FAISS 和 Pinecone),在提示流程中進行擷取擴增生成 (RAG)。 此工具會自動偵測工作區中的索引,並可讓您選擇要在流程中使用的索引。
重要
索引查閱工具目前處於公開預覽狀態。 此預覽版是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
使用索引查閱工具建置
在 Azure Machine Learning 工作室中建立或開啟流程。 如需詳細資訊,請參閱建立流程。
選取 [+ 更多工具] > [索引查閱],將索引查閱工具新增至流程。
視需要將更多工具新增至流程,或選取 [執行] 以執行流程。
若要深入了解傳回的輸出,請參閱輸出。
輸入
以下是可用的輸入參數:
名稱 | 類型 | 描述 | 必要 |
---|---|---|---|
mlindex_content | string | 要使用的索引類型。 輸入取決於索引類型。 您可以在下表下方看到 Azure 認知搜尋服務索引 JSON 的範例* | Yes |
筆查詢 | string,Union[string,List[String]] | 要查詢的文字。 | Yes |
query_type | string | 要執行的查詢類型。 選項包括關鍵字、語意、混合式等等。 | Yes |
top_k | 整數 | 要傳回的評分最高實體計數。 預設值為 3。 | No |
*ACS JSON 範例:
embeddings:
api_base: <api_base>
api_type: azure
api_version: 2023-07-01-preview
batch_size: '1'
connection:
id: /subscriptions/<subscription>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace> /connections/<AOAI_connection>
connection_type: workspace_connection
deployment: <embedding_deployment>
dimension: <embedding_model_dimension>
kind: open_ai
model: <embedding_model>
schema_version: <version>
index:
api_version: 2023-07-01-Preview
connection:
id: /subscriptions/<subscription>/resourceGroups/<resource_group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace> /connections/<cogsearch_connection>
connection_type: workspace_connection
endpoint: <cogsearch_endpoint>
engine: azure-sdk
field_mapping:
content: id
embedding: content_vector_open_ai
metadata: id
index: <index_name>
kind: acs
semantic_configuration_name: azureml-default
輸出
下列 JSON 格式回應是由包含 top-k 評分實體的工具所傳回的範例。 此實體遵循 promptflow-vectordb SDK 所提供之向量搜尋結果的一般結構描述。 針對向量索引搜尋,會填入下列欄位:
欄位名稱 | 類型 | 描述 |
---|---|---|
中繼資料 | dict | 建立索引時,使用者提供的自訂機碼值組 |
page_content | string | 正在查閱中使用的向量區塊內容 |
score | float | 取決於向量索引中定義的索引類型。 如果索引類型為 Faiss,則分數為 L2 距離。 如果索引類型為 Azure AI 搜尋服務,則分數會是餘弦相似度。 |
[
{
"metadata":{
"answers":{},
"captions":{
"highlights":"sample_highlight1",
"text":"sample_text1"
},
"page_number":44,
"source":{
"filename":"sample_file1.pdf",
"mtime":1686329994,
"stats":{
"chars":4385,
"lines":41,
"tiktokens":891
},
"url":"sample_url1.pdf"
},
"stats":{
"chars":4385,"lines":41,"tiktokens":891
}
},
"page_content":"vector chunk",
"score":0.021349556744098663
},
{
"metadata":{
"answers":{},
"captions":{
"highlights":"sample_highlight2",
"text":"sample_text2"
},
"page_number":44,
"source":{
"filename":"sample_file2.pdf",
"mtime":1686329994,
"stats":{
"chars":4385,
"lines":41,
"tiktokens":891
},
"url":"sample_url2.pdf"
},
"stats":{
"chars":4385,"lines":41,"tiktokens":891
}
},
"page_content":"vector chunk",
"score":0.021349556744098663
},
]
如何從舊版工具移轉至索引查閱工具
索引查閱工具會取代三個已淘汰的舊版索引工具:向量索引查閱工具、向量資料庫查閱工具和 Faiss 索引查閱工具。 如果您有包含其中一個工具的流程,請遵循以下步驟來升級流程。
升級您的工具
瀏覽至您的流程。 您可以藉由選取 [撰寫] 底下的 [提示流程] 索引標籤,選取 [流程] 樞紐索引標籤,然後選取流程的名稱,來完成這項操作。
一旦進入流程,請選取窗格頂端附近的 [+ 更多工具] 按鈕。 應該會開啟下拉式清單,請選取 [索引查閱 [預覽]] 來新增索引查閱工具的執行個體。
命名新節點,然後選取 [新增]。
在新節點中,選取 [mlindex_content] 文字輸入框。 這應該是清單中的第一個文字輸入框。
在出現的 [產生] 選單中,遵循下列指示,從三個舊版工具升級:
- 如果使用舊版 [向量索引查閱],在 [index_type] 下拉式清單中,選取 [已註冊的索引]。 從 [mlindex_asset_id] 下拉式清單中,選取您的向量索引資產。
- 如果使用舊版 [Faiss 索引查閱] 工具,在 [index_type] 下拉式清單中選取 [Faiss],並且指定與舊版工具相同的路徑。
- 如果使用舊版 [向量資料庫查閱] 工具,依據 [index_type] 下拉式清單中的資料庫類型選取 AI 搜尋服務或 Pinecone,並且視需要填寫資訊。
填寫必要資訊之後,選取 [儲存]。
返回節點時,應該會在 [mlindex_content] 文字輸入框中填入資訊。 選取旁邊的 [查詢] 文字輸入框,然後選取您想要查詢的搜尋字詞。 您想要選取與 “embed_the_question” 節點輸入相同的值,通常是 “${inputs.question}” 或 “${modify_query_with_history.output}” (如果您在標準流程中則為前者,如果您在聊天流程中則為後者)。
藉由按一下 [query_type] 旁邊的下拉式清單,選取查詢類型。 「向量」會產生與舊版流程相同的結果,但視您的索引設定而定,可能會提供其他選項,包括「混合式」和「語意」。
編輯下游元件以取用新加入節點的輸出,而不是舊版向量索引查閱節點的輸出。
刪除向量索引查閱節點及其父代內嵌節點。