開源提取服務:從非結構化文本中提取結構化資料
LangChain 釋出了一個開源提取服務的託管版本,支援從 PDF、HTML 和文本檔案中提取結構化資料。該服務免費使用,但不宜用於生產環境或敏感資料。它允許使用者定義提取模式、新增少量示例,並切換不同的 LLM 模型。透過一個簡單的使用者介面,開發者可以快速實驗並整合到自己的 LangChain 工作流中。
2024年3月26日,LangChain 宣佈推出其最新的開源用例加速器:一項用於從非結構化來源(如文本和 PDF 文件)中提取結構化資料的服務。今天,該服務以託管版本的形式公開,並提供簡單的使用者介面。該應用程式免費使用,但不宜用於生產工作負載或敏感資料。其目的是展示 2024 年在這一類別中可以實現的功能,並幫助開發者快速上手構建自己的應用程式。
為什麼現在推出? 結構化資料提取已成為大語言模型的一個寶貴用例,模型能夠推理非結構化文本中的歧義,將資訊強制轉化為所需的模式。模型提供商越來越多地支援長上下文視窗和函式呼叫功能,這兩者都是資料提取的關鍵特性。LangChain 最近改進了對資料提取的支援,使開發者能夠輕鬆處理各種檔案型別、模式格式、模型、少量示例和提取方法(例如工具呼叫、JSON 模式或解析)。託管一個參考應用程式可以讓使用者體驗最新的工具,並將其與底層的開源實現聯絡起來。
主要功能包括:支援 PDF、HTML 和文本檔案;定義和持久化帶有自定義模式和指令的提取器;新增少量示例用於上下文學習;在使用者之間共享提取器;切換 LLM 模型;核心提取邏輯的 LangServe 端點,可接入您自己的 LangChain 工作流;一個前端介面,允許使用者用自然語言定義提取模式、與其他使用者共享,並在文本或檔案上進行測試(目前尚不支援少量示例)。
該部落格文章透過一個從 Uber 2023 年第四季度財報電話會議中提取財務資料的示例,詳細演示瞭如何使用該服務。示例程式碼展示瞭如何定義 Pydantic 模式、建立提取器、提交 PDF 檔案並解析結果。還展示瞭如何透過新增少量示例來改進輸出格式,以及如何透過 LangServe 介面將提取邏輯整合到更大的檢索鏈中。整個流程強調了該服務的易用性和靈活性,並邀請開發者反饋和貢獻。
在示例中,使用者首先需要獲取 PDF 檔案內容,並生成一個唯一的使用者識別符號,該識別符號控制對提取器和其他工件的訪問。然後,使用 Pydantic 定義一個包含名稱、數值、規模、時間段和證據欄位的財務資料結構,並將其釋出到伺服器建立一個提取器。接著,透過向提取端點傳送請求,從 Uber 的財報 PDF 中提取資料。初始提取結果中,規模欄位的輸出與預期格式不符(如“million”而非“MM”),透過新增一個包含示例輸入和期望輸出的少量示例,重新執行後格式得到糾正。此外,服務還提供了 LangServe 客戶端介面,允許開發者將提取邏輯作為可執行元件整合到更大的鏈或代理工作流中,例如結合檢索增強生成(RAG)場景,先檢索相關文件再進行提取。
這一服務展示了 LangChain 在結構化資料提取方面的最新進展,為開發者提供了一個快速試驗和構建提取應用的平臺。LangChain 邀請社群提供反饋並貢獻程式碼,以進一步改進提取能力。