New Features
- Added support for multiple LLM providers: OpenAI, Claude, Gemini, and Mistral.
- Introduced
--llm
CLI flag to select the desired LLM provider.
- Applied the Strategy Pattern for LLM integration to allow clean extensibility.
- Refactored core code for unified API/CLI usage with
insert_into_llm
and llm_provider
options.
Example: CLI Usage
markitdown document.docx --output-dir ./markdowns --llm claude
markitdown document.pdf --output-dir ./markdowns --llm gemini
markitdown document.pptx --output-dir ./markdowns --llm mistral
Example: Convert an Entire Folder via API
from openize.markitdown.core import MarkItDown
converter = MarkItDown(output_dir="./markdowns")
# Convert document and send to Claude
converter.convert_document("document.docx", insert_into_llm=True, llm_provider="claude")
# Convert document and send to Gemini
converter.convert_document("presentation.pptx", insert_into_llm=True, llm_provider="gemini")
# Convert document and send to Mistral
converter.convert_document("financial.xlsx", insert_into_llm=True, llm_provider="mistral")