Note
本頁介紹了資訊擷取的新版本。 關於先前版本的資訊,請參見 使用資訊擷取(舊版)
資訊萃取將非結構化文件與文本轉換為關鍵且結構化的洞見,利用定義的架構。 這讓你能直接利用嵌入於非結構化文字、PDF、圖片或表格中的資訊,進行分析、報告或下游代理與應用程式。
資訊擷取的範例包括:
- 從合約中提取合約當事方與條款。
- 從發票中提取明細項目和付款條款。
- 從醫療紀錄和筆記中提取關鍵細節。
資訊萃取使用 預設儲存 空間來儲存臨時資料轉換、模型檢查點及驅動每個代理的內部元資料。 當你刪除代理時,Databricks 會從預設儲存中移除所有與代理相關的資料。
資訊擷取可透過 Agent Bricks 介面、 SQL 及 REST API 進行。
在使用者介面中建立資訊擷取代理程式
Requirements
- 包含下列各項的工作區:
- 已啟用無伺服器計算。 請參閱 無伺服器運算需求。
- 已啟用 Unity 目錄。 請參閱 為 Unity Catalog 啟用工作區。
- 可取得非零預算的 無伺服器使用政策 。
- 此功能僅在部分地區提供,詳見 AI 功能可用性。
- 對於具有強化安全性與合規附加元件的工作空間,
- 請參閱區域支援
ai_extract以了解適當的 合規標準。 - 請參閱「管理 Azure Databricks」預覽版,了解如何在您的工作區啟用此功能。
- 請參閱區域支援
- 能夠使用
ai_extractSQL 函式。 - 你想從中提取資訊的非結構化資料。 資料必須存放在 Unity 目錄的卷或表格中。
- 要建立你的代理,你必須在 Unity 目錄卷中至少有一個檔案,或表格中至少有一列。
轉到在您的工作區左側導覽面板中選擇代理程式。 點擊 建立代理人>資訊擷取。
步驟 1。 選擇資料以提取資訊
在「 從你的資料開始 」頁面,選擇你想提取資訊的檔案或資料。 你可以做以下任何一項:
- 將一個或多個檔案拖放到上傳區,或點擊瀏覽可上傳的檔案。
- 點擊 「選擇磁碟區 」以選擇支援檔案類型的 Unity 目錄磁碟區。
- 點擊 「選擇表格 」以選擇包含文字資料的 Unity 目錄資料表。
如果你選擇一個資料表,請選擇包含要提取資料的欄位。 在繼續之前,您必須選擇資料類型受支援的欄位,例如 STRING 或 VARIANT。 如果該表格沒有支援欄位,請選擇其他表格。
按兩下 [建立代理程式]。 此按鈕僅在您選擇有效資料來源,且對資料表而言,選擇支援欄位後才會啟用。
步驟 2。 配置並精煉你的擷取架構
資訊擷取處理完資料後,設定並精煉你想從文件中擷取的資料。
在設定中,定義你的擷取結構。 有數種方式可以執行這項作業:
- 輸入描述你想提取資訊的自然語言,然後點擊 產生結構。 資訊萃取會自動為你產生包含欄位名稱和定義的 JSON 架構。 請依需要編輯這些描述。
- 或者,點擊手動定義來手動設定你的結構:
- 點選 新增欄位。
- 輸入你的欄位名稱、類型和描述。
- 按一下 [確認]。
- 對每個你想提取的欄位重複這個步驟。
- 按一下 儲存並執行擷取。
- 你也可以點選 JSON 直接編輯 JSON 架構。 完成後點選 「套用變更 」。
每次你更新結構並點選 儲存並執行擷取時,資訊擷取會更新擷取代理,執行擷取,並顯示每個輸入的結果。
若要設定其他選項,請按一下位於
桿圖示儲存並執行擷取 旁的選項切換按鈕 ,然後啟用下列一或多個選項:
- 精確度模式:提升細緻欄位及長文件的準確度。
- 引用:顯示擷取值的來源參考。
- 信心分數:顯示提取值的信心水準。
左邊檢視解析後的文件及代理程式萃取的內容。 迭代提取結果有兩種方式。 首先,對一個或多個輸入提供自然語言回饋,當你按下 儲存並執行擷取時,這會自動調整你的描述。 第二,手動修改結構描述,這些描述會在你按下 儲存並執行擷取時生效。
使用版本來比較或還原到先前的設定。 點選 版本,然後點擊 比較 ,將先前版本的結構定義與目前版本進行比較。 點擊 還原 即可還原之前的版本。
步驟 3。 評估並提升萃取品質
為了衡量你的代理人表現並系統性地改進,請將代理人與標籤資料集對照評估。 評估會將每個擷取結果對照已知的標準答案(ground truth)進行評分,因此你可以跨版本追蹤欄位層級的準確率,並鎖定需要改進的欄位。
新增評估資料集
在執行評估前,你需要在 Unity Catalog 裡有一個評估資料集。 資料集必須是具有兩欄的 Unity 目錄資料表:
- 包含要從中擷取內容的文字或文件的 輸入資料行。 這可以是
STRING文字,或是VARIANT的ai_parse_document輸出。 - 一個 標準答案欄位,以 JSON 字串表示預期的擷取結果。 每個值必須符合你代理人的擷取架構,並且符合進階架構。
ai_extract
進行評估
若要為你的擷取代理程式執行評估:
- 在工作台中,打開評估下拉選單並點選 「執行評估」。 這會開啟 「建立評估執行 」對話框。
- 在 評估資料集表中,選擇存放你標記範例的 Unity 目錄表。
- 在 資料行對應 下,選取包含代理程式輸入的 輸入資料行,以及包含預期回應的 標準答案資料行。
- 按 執行評估。 資訊擷取會將目前的配置儲存為新版本,並根據其基層真實值對每一列進行評分。
檢閱評估結果
隨著執行進行,文件會陸續進入 文件 分頁,並顯示每份文件中不匹配的欄位。 當執行結束時,資訊擷取會顯示 「概覽 」標籤,內容包括:
- 一份包含 整體現場準確性 與 文件完全正確性的評分卡。 若有先前的評估執行,記分卡會顯示相較於該次執行的變化。
- 各欄位分數表。 點擊任一欄位即可開啟其鑽孔,顯示準確度、精確度、召回率及 F1 值。 點選「 顯示失敗文件 」可查看每份未能擷取該欄位的文件及其擷取輸出。
切換到 文件 標籤以檢查個別文件。 每一列顯示匹配欄位與不匹配欄位的比率。 使用 欄位下拉 選單篩選出有特定欄位不匹配的文件。 點擊文件,將客服人員的回應與實際情況並排比較。
應用 Genie Code 修正
執行結束後,資訊擷取會分析結果,並依受影響文件數量排名,呈現 Genie Code 建議中的問題。 每個發現都描述了潛在的品質問題。 點擊 「Fix with Genie 」即可開啟互動式 Genie Code 聊天,該聊天室會提出架構與指令變更,與受影響文件進行驗證,並提供重新執行完整評估。
步驟 4. 使用你的萃取劑
當你對代理人的表現感到滿意後,再利用代理人來擷取資訊。
在右上角按一下 使用代理。 您可選取下列其中一項:
-
用 SQL 執行 ,利用代理程式從所有資料中提取資訊。 這會開啟一個 SQL 查詢,利用
ai_extract指定的架構從你的磁碟區或資料表中擷取資訊。 欲了解更多關於 SQL 查詢的使用ai_extract資訊,請參閱ai_extract函式。 - 建立 Lakeflow 管線,使其依排定間隔執行,以便針對新資料叫用你的代理。 這會建立一個 Lakeflow 管線,使用你擷取的資料更新串流資料表。 你可以設定管線排程,讓它在新資料到達時自動執行。 欲了解更多 Lakeflow 管線資訊,請參閱 Spark 宣告式管線。
在 SQL 中擷取資訊
在 SQL 中呼叫 ai_extract 以大規模擷取欄位:
SELECT ai_extract(
'Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15',
'{
"invoice_id": {"type": "string", "description": "Unique invoice identifier"},
"vendor_name": {"type": "string", "description": "Legal business name"},
"total_amount": {"type": "number", "description": "Total invoice amount"},
"invoice_date": {"type": "string", "description": "Date in YYYY-MM-DD format"}
}',
options => map('version', '2.1')
);
請參考 SQL 參考資料 ai_extract 。
使用 REST API 擷取資訊
使用 REST API 從應用程式、服務及自動化工作流程中擷取結構化欄位。 參考 REST API 文件 。
REST API 請求的預設速率上限 ai_extract 是每個工作區每分鐘 120 個請求。 請聯絡您的 Databricks 帳戶團隊申請更高的限額。
以下範例從發票文字中擷取結構化欄位:
curl -X POST "$DATABRICKS_HOST/api/2.0/ai-functions/ai-extract" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"content": "Invoice #12345 from Acme Corp for $1,250.00 dated 2024-01-15",
"schema": {
"vendor_name": {
"type": "string"
},
"total_amount": {
"type": "number"
}
}
}'
Limitations
- 參見 限制
- 資訊擷取代理程式具有128k令牌內容長度上限。
- 不支援聯合模式類型。