SuperAPI AI 工具集

pdf-to-tinker-training

办公与效率

查看项目

更新于 10-16 07:15

技能介绍

用途:从 PDF 书籍生成用于 thinkingmachines/Inkling 的 LoRA 微调数据,基于 Tinker。触发场景为用户要求用 Tinker 为 Inkling 创建微调数据。

主要能力:提取任意 PDF→过滤→切分;生成监督配对(instruction 为标题/摘要,response 为正文),输出 .jsonl(默认 <pdf_basename>_training_full.jsonl)。切分策略:可检测标题时按标题切分,否则按页切分并支持可配置重叠。命令提取:扫描反引号 / $ 文本模式;对图片内终端命令用 fitz 的 page.get_images() 提取图片并 OCR(如 tesseract 或视觉模型),恢复的命令转为监督配对(instruction="How to use ?",response=用法与上下文)。训练脚本 scripts/train_lora.py(LoRA + cross_entropy),通过 create_lora_training_client 使用。格式为 tinker_datum_supervised_lora(loss: cross_entropy, weights, LoRA)。

使用方式:依赖 pip install tinker(已验证 v0.23.0),使用 types.Datum、types.ModelInput.from_ints、cross_entropy loss;tokenizer 用 training_client.get_tokenizer()(需完整 tinker 环境;tml_tokenizers 为 SDK 内部,不在 PyPI)。Datum 结构:model_input=types.ModelInput.from_ints(tokens=input_tokens),loss_fn_inputs 中 weights(0=prompt,1=completion)与 target_tokens(相对 input 偏移 1);调用 training_client.forward_backward_async(data=[datum], loss_fn="cross_entropy")。执行:python chunk_pdf.py --pdf <path>;命令参数 --pdf <path>,输出路径可指定。模型 ID 需用文档精确字符串:thinkingmachines/Inkling(64K)、thinkingmachines/Inkling:peft:262144(256K);若 SDK 返回 400,注意大小写敏感。

限制:强制零二进制/零批处理,经 sys.executable 执行,不使用编译包装器。需完整 Tinker 环境;tml_tokenizers 非 PyPI 包。图片命令依赖 OCR 质量。其余价格、平台支持、效果等事实暂未提供。