环节拆解
| 环节 | 做什么 | 常见工具与要点 |
|---|---|---|
| 解析 | PDF/HTML/Word 提取文本 | PyMuPDF、pdfplumber、MinerU、Docling、Unstructured |
| 清洗 | 去页眉页脚、乱码、断行 | 自定义正则 + 人工抽检 |
| 切分 | 按长度/结构/语义分块 | RecursiveCharacterTextSplitter、SentenceSplitter 等 |
| 向量化 | 批量生成 embedding | BGE / E5 / OpenAI text-embedding-3 等 |
| 入库 | 写向量 + 元数据 | Milvus / Qdrant / pgvector 等 |
批量索引伪代码
批量索引伪代码
for doc in iter_documents(source):
pages = parse(doc) # 解析
text = clean(pages) # 清洗
chunks = split(text) # 切分
vecs = embed_batch(chunks) # 向量化
store.upsert(chunks, vecs) # 入库(带 doc_id / 页码等元数据)索引是批处理,解析与切分的错误会原样进入向量库,后续环节无法补救;入库前务必抽样人工核对。