ai
  • index
  • cursor
  • vector
  • crawl
  • crawl-front
  • DrissionPage
  • logging
  • mysql
  • pprint
  • sqlalchemy
  • contextmanager
  • dotenv
  • Flask
  • python
  • job
  • pdfplumber
  • python-docx
  • redbook
  • douyin
  • ffmpeg
  • json
  • numpy
  • opencv-python
  • pypinyin
  • re
  • requests
  • subprocess
  • time
  • uuid
  • watermark
  • milvus
  • pymilvus
  • search
  • Blueprint
  • flash
  • Jinja2
  • secure_filename
  • url_for
  • Werkzeug
  • chroma
  • HNSW
  • pillow
  • pandas
  • beautifulsoup4
  • langchain-community
  • langchain-core
  • langchain
  • langchain_unstructured
  • libreoffice
  • lxml
  • openpyxl
  • pymupdf
  • python-pptx
  • RAGFlow
  • tabulate
  • sentence_transformers
  • jsonl
  • collections
  • jieba
  • rag_optimize
  • rag
  • rank_bm25
  • Hugging_Face
  • modelscope
  • all-MiniLM-L6-v2
  • ollama
  • rag_measure
  • ragas
  • ASGI
  • FastAPI
  • FastChat
  • Jupyter
  • PyTorch
  • serper
  • uvicorn
  • markdownify
  • NormalizedLevenshtein
  • raq-action
  • CrossEncoder
  • Bi-Encoder
  • neo4j
  • neo4j4python
  • matplotlib
  • Plotly
  • Streamlit
  • py2neo
  • abc
  • read_csv
  • neo4jinstall
  • APOC
  • neo4jproject
  • uv
  • GDS
  • heapq
  • 一、langchain_unstructured简介
  • 二、安装方法
  • 三、核心概念
  • 四、常见用法
    • 1. 加载PDF文档
  • 导入PDF加载器
  • 指定PDF文件路径
  • 创建PDF加载器对象
  • 加载文档,返回Document对象列表
  • 遍历并打印每个文档的内容
    • 3. 加载HTML文档
  • 导入HTML加载器
  • 指定HTML文件路径
  • 创建HTML加载器对象
  • 加载文档,返回Document对象列表
  • 遍历并打印每个文档的内容
    • 5. 结构化处理
  • 导入结构化处理相关模块
  • 加载PDF文档
  • 假设每个Document对象有metadata属性
    • 五、应用场景
    • 六、参考资料

一、langchain_unstructured简介 #

langchain_unstructured 是 LangChain 生态下用于处理非结构化文档(如PDF、Word、HTML等)的强大工具,支持文档加载、分块、结构化等多种能力。

二、安装方法 #

介绍如何安装langchain_unstructured及其依赖。

# 安装langchain_unstructured主库
pip install langchain_unstructured
# 推荐安装unstructured、pdfplumber等依赖以支持更多格式
pip install unstructured pdfplumber

三、核心概念 #

本节介绍langchain_unstructured的主要能力和设计思想。

  • 文档加载(Loader):支持多种格式文档的读取与解析。
  • 分块(Chunking):将长文档切分为适合大模型处理的小块。
  • 结构化(Structuring):将非结构化内容转为结构化数据,便于后续处理。

四、常见用法 #

介绍langchain_unstructured的典型用法,包括加载PDF、Word、HTML等文档,分块与结构化处理。

1. 加载PDF文档 #

展示如何加载PDF文件并提取文本内容。 `python

导入PDF加载器 #

from langchain_unstructured.document_loaders import UnstructuredPDFLoader

指定PDF文件路径 #

file_path = 'example.pdf'

创建PDF加载器对象 #

loader = UnstructuredPDFLoader(file_path)

加载文档,返回Document对象列表 #

documents = loader.load()

遍历并打印每个文档的内容 #

for doc in documents: print(doc.page_content)


### 2. 加载Word文档
> 展示如何加载Word(.docx)文件。
```python
# 导入Word加载器
from langchain_unstructured.document_loaders import UnstructuredWordDocumentLoader

# 指定Word文件路径
file_path = 'example.docx'

# 创建Word加载器对象
loader = UnstructuredWordDocumentLoader(file_path)

# 加载文档,返回Document对象列表
documents = loader.load()

# 遍历并打印每个文档的内容
for doc in documents:
    print(doc.page_content)

3. 加载HTML文档 #

展示如何加载HTML文件。 `python

导入HTML加载器 #

from langchain_unstructured.document_loaders import UnstructuredHTMLLoader

指定HTML文件路径 #

file_path = 'example.html'

创建HTML加载器对象 #

loader = UnstructuredHTMLLoader(file_path)

加载文档,返回Document对象列表 #

documents = loader.load()

遍历并打印每个文档的内容 #

for doc in documents: print(doc.page_content)


### 4. 文档分块处理
> 展示如何将长文档切分为小块。
```python
# 导入文本分块器
from langchain.text_splitter import RecursiveCharacterTextSplitter

# 假设已获得文档内容
text = "这是一个很长的文本,需要分块处理。" * 100

# 创建分块器对象,设置每块最大长度和重叠长度
splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=20)

# 执行分块,返回文本块列表
chunks = splitter.split_text(text)

# 打印每个分块内容
for chunk in chunks:
    print(chunk)

5. 结构化处理 #

展示如何将非结构化内容转为结构化数据。 `python

导入结构化处理相关模块 #

from langchain_unstructured.document_loaders import UnstructuredPDFLoader

加载PDF文档 #

loader = UnstructuredPDFLoader('example.pdf') documents = loader.load()

假设每个Document对象有metadata属性 #

for doc in documents:

# 打印文档元数据
print(doc.metadata)
# 打印文档内容
print(doc.page_content)

`

五、应用场景 #

langchain_unstructured 常用于以下场景:

  • 非结构化文档批量解析与知识入库
  • RAG(检索增强生成)场景下的文档预处理
  • 企业知识库、合同、报告等内容结构化
  • 多格式文档统一处理与分析

六、参考资料 #

推荐学习和查阅的langchain_unstructured相关资料。

  • 官方文档:https://python.langchain.com.cn/docs/integrations/document_loaders/unstructured/
  • LangChain GitHub:https://github.com/langchain-ai/langchain
  • Unstructured项目:https://github.com/Unstructured-IO/unstructured

访问验证

请输入访问令牌

Token不正确,请重新输入