Extract structured chemical compound characterization data from chemistry supplementary material documents (PDF/Markdown).
从化学论文补充材料(PDF/Markdown)中提取结构化化合物表征数据。
Use when Kimi needs to extract compound properties including NMR spectra, HRMS, HPLC data, melting points, optical rotation, and yield information from chemistry research papers or supplementary materials.
支持提取NMR谱图、HRMS、HPLC数据、熔点、旋光度、产率等信息。
Supports both single compound extraction and batch extraction of all compounds.
支持单个化合物提取和批量提取所有化合物。
Extract structured chemical compound characterization data from chemistry supplementary material documents (PDF/Markdown).
从化学论文补充材料(PDF/Markdown)中提取结构化化合物表征数据。
Use when Kimi needs to extract compound properties including NMR spectra, HRMS, HPLC data, melting points, optical rotation, and yield information from chemistry research papers or supplementary materials.
支持提取NMR谱图、HRMS、HPLC数据、熔点、旋光度、产率等信息。
Supports both single compound extraction and batch extraction of all compounds.
支持单个化合物提取和批量提取所有化合物。
Chemistry Data Extractor | 化学数据提取器
Extract structured chemical characterization data from chemistry supplementary materials and return in strict JSON format.
从化学论文补充材料中提取结构化表征数据,以严格JSON格式返回。
Supported Data Fields
compound_name: Full IUPAC or common name (including stereochemistry if given)
structure_image_description: Brief description of the molecular structure
-o, --output: Output base directory (default: ./chem_extract_output)
--keep-md: Keep intermediate markdown files (default: cleanup after extraction)
--skip-existing: Skip PDFs that already have output folders
Output Structure
output_folder/
├── batch_summary.json # Overall summary of all processed PDFs
├── paper1/
│ ├── compounds.json # All extracted compounds
│ └── summary.json # Brief summary with compound list
├── paper2/
│ ├── compounds.json
│ └── summary.json
└── ...
Example: Batch Process
# Process all PDFs in a folder
python scripts/batch_extract.py ./pdfs/ -o ./extracted_data
# Process single PDF
python scripts/batch_extract.py ./article.pdf -o ./results
# Keep intermediate files, skip existing
python scripts/batch_extract.py ./pdfs/ --keep-md --skip-existing
Mode 2: Single Document Processing
For processing a single document (Markdown or after PDF conversion).
Step 2: Prepare Input File
If the input is a PDF file:
Use mineru-pdf-converter skill to convert PDF to Markdown first
Use the generated full.md file as input
If the input is already a Markdown file, use it directly.
Step 3: Extract Data
Use the extraction script to parse the data:
# Extract a specific compound
python scripts/extract_chem_data.py \
/path/to/full.md -c COMPOUND_ID --compact
# Extract all compounds
python scripts/extract_chem_data.py \
/path/to/full.md --compact
Options:
-c, --compound: Extract specific compound by ID (e.g., "3i", "1a")
--compact: Remove null/empty fields from output
-o, --output: Save output to file instead of stdout
Step 4: Return Results
Output ONLY valid JSON without any extra text, unless the user specifically asks for explanations.
Examples
Example 1: Batch Process Multiple PDFs
# Process all PDFs in a directory
python scripts/batch_extract.py ./supplementary_pdfs/ -o ./extracted_compounds
# Output structure:# ./extracted_compounds/# ├── batch_summary.json# ├── paper1/# │ ├── compounds.json# │ └── summary.json# └── paper2/# ├── compounds.json# └── summary.json