Unstructured
來自 Unstructured.IO 的
unstructured
套件可從原始來源文件(如 PDF 和 Word 文件)中提取乾淨的文字。本頁涵蓋如何在 LangChain 中使用unstructured
生態系統。
安裝與設定
如果您使用的是在本機執行的載入器,請按照以下步驟讓 unstructured
及其相依性套件運作。
-
為了最小的安裝佔用空間,並利用開源
unstructured
套件中未提供的功能,請使用pip install unstructured-client
安裝 Python SDK,並同時使用pip install langchain-unstructured
來使用UnstructuredLoader
,並針對 Unstructured API 遠端進行分割。此載入器位於 LangChain 合作夥伴儲存庫中,而非langchain-community
儲存庫,您需要一個api_key
,您可以在這裡產生免費金鑰。- Unstructured 的 SDK 文件可以在這裡找到:https://docs.unstructured.io/api-reference/api-services/sdk
-
若要在本機執行所有項目,請使用
pip install unstructured
安裝開源 Python 套件,並同時使用pip install langchain-community
,並使用與上述相同的UnstructuredLoader
。- 您可以使用 extras 安裝文件特定的相依性套件,例如
pip install "unstructured[docx]"
。如需瞭解更多關於 extras 的資訊,請參閱這裡。 - 若要安裝所有文件類型的相依性套件,請使用
pip install "unstructured[all-docs]"
。
- 您可以使用 extras 安裝文件特定的相依性套件,例如
-
如果您的系統上尚無以下系統相依性套件,請安裝它們,例如使用 Mac 的
brew install
。根據您要解析的文件類型,您可能不需要所有這些套件。libmagic-dev
(檔案類型偵測)poppler-utils
(圖像和 PDF)tesseract-ocr
(圖像和 PDF)qpdf
(PDF)libreoffice
(MS Office 文件)pandoc
(EPUB)
-
在本機執行時,Unstructured 也建議使用 Docker 按照本指南,以確保所有系統相依性套件都正確安裝。
Unstructured API 需要 API 金鑰才能發出請求。您可以在這裡請求 API 金鑰,並立即開始使用!查看 README 這裡以開始發出 API 呼叫。我們很樂意聽到您的意見回饋,請在我們的社群 Slack 中告訴我們您的使用體驗。敬請期待品質和效能的提升!如果您想自行託管 Unstructured API 或在本機執行它,請查看這裡的說明。
資料載入器
Unstructured
的主要用途是在資料載入器中。
UnstructuredLoader
請參閱使用範例,瞭解如何將此載入器用於在本機分割和使用無伺服器 Unstructured API 遠端分割。
from langchain_unstructured import UnstructuredLoader
UnstructuredCHMLoader
CHM
表示 Microsoft Compiled HTML Help
。
from langchain_community.document_loaders import UnstructuredCHMLoader
UnstructuredCSVLoader
逗號分隔值
(CSV
) 檔案是一種分隔文字檔,使用逗號分隔值。檔案的每一行都是一筆資料記錄。每筆記錄由一個或多個欄位組成,欄位之間以逗號分隔。
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredCSVLoader
UnstructuredEmailLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredEmailLoader
UnstructuredEPubLoader
EPUB 是一種 電子書檔案格式
,使用「.epub」檔案副檔名。該詞是 electronic publication(電子出版品)的縮寫,有時會寫成 ePub
。許多電子閱讀器都支援 EPUB
,且大多數智慧型手機、平板電腦和電腦都有相容的軟體。
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredEPubLoader
UnstructuredExcelLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredExcelLoader
UnstructuredFileIOLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredFileIOLoader
UnstructuredHTMLLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredHTMLLoader
UnstructuredImageLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredImageLoader
UnstructuredMarkdownLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredMarkdownLoader
UnstructuredODTLoader
辦公室應用程式開放文件格式 (ODF)
,也稱為 OpenDocument
,是一種用於文字處理文件、試算表、簡報和圖形的開放檔案格式,並使用 ZIP 壓縮的 XML 檔案。它的開發目的是為辦公室應用程式提供開放的、基於 XML 的檔案格式規範。
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredODTLoader
UnstructuredOrgModeLoader
Org Mode 文件是一種文件編輯、格式化和組織模式,專為筆記、規劃和在自由軟體文字編輯器 Emacs 中撰寫而設計。
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredOrgModeLoader
UnstructuredPDFLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredPDFLoader
UnstructuredPowerPointLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredPowerPointLoader
UnstructuredRSTLoader
reStructured Text
(RST
) 檔案是一種用於文字資料的檔案格式,主要在 Python 程式設計語言社群中用於技術文件。
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredRSTLoader
UnstructuredRTFLoader
請參閱 API 文件中的使用範例。
from langchain_community.document_loaders import UnstructuredRTFLoader
UnstructuredTSVLoader
Tab 分隔值
(TSV
) 檔案是一種簡單的、基於文字的檔案格式,用於儲存表格資料。記錄以換行符分隔,記錄內的值以 Tab 字元分隔。
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredTSVLoader
UnstructuredURLLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredURLLoader
UnstructuredWordDocumentLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredWordDocumentLoader
UnstructuredXMLLoader
請參閱使用範例。
from langchain_community.document_loaders import UnstructuredXMLLoader