multixtract¶
Vendor-neutral document extraction for search & RAG.
Pull text, tables, and images out of PDFs, Word, PowerPoint, and Excel/CSV files, let any vision model describe the images, chunk everything for retrieval, embed it, and store the result anywhere.
The core is tiny (just Pillow + ImageHash). Every format parser and cloud SDK is an optional extra.
Install¶
pip install multixtract # core only
pip install "multixtract[pdf,docx,pptx,xlsx]" # all document formats
pip install "multixtract[openai]" # + OpenAI vision & embeddings
pip install "multixtract[azure]" # + Azure OpenAI + Azure Blob
pip install "multixtract[qwen2vl]" # + Qwen2.5-VL local vision
pip install "multixtract[smolvlm]" # + SmolVLM 2.2B local vision (CPU)
Quick start¶
from multixtract import extract_document, chunk_document
document, images = extract_document("report.pdf")
chunks = chunk_document(document, base_name="report")
print(f"{len(document['pgs'])} pages, {len(chunks)} chunks, {len(images)} images")
No API keys, no cloud — just text, tables, and filtered image bytes.
Full pipeline with individual chunk files for Azure AI Search:
from multixtract import Pipeline
from multixtract.providers.storage import LocalDiskStore
pipeline = Pipeline(store=LocalDiskStore("./output"))
result = pipeline.process("report.pdf", split_chunks=True)
# writes _chunks.json + one flat JSON per chunk
print(result.split_stats)
Navigation¶
- Usage Guide — all features with code examples
- API Reference — full public API
- Data Model — document schema, chunk schema, individual chunk documents, storage layout
- Changelog — version history