19:20Chase AI
Log in to leave a comment
No posts yet
在本地分析数百页的 PDF 和复杂的表格是一项苦差事。单纯安装工具并不能解决问题。只有将杂乱的数据精炼成 AI 可以立即“吞咽”的高纯度上下文(Context),真正的业务自动化才会开始。
在使用 Claude Code 时,经常会遇到用项目 B 的数值来回答项目 A 问题的情况。当向量数据库或知识图谱混合在一起时,就会发生这种现象。为了防止这种情况,必须在项目根目录下设计标准化的文件夹结构并固定路径。
最整洁的结构是将原始文件放在 docs/raw/,MinerU 转换结果放在 docs/output/,而 RAG-Anything 的知识图谱索引放在 docs/context_db/。通过这种分离方式,像 kv_store_doc_status.json 之类的状态文件就不会发生冲突。
要让 Claude Code 仅关注这些路径,需要配置 .claudecode/config.json。
.claudecode 目录。config.json 的 mcpServers 项中添加 rag-anything。env 设置中将 RAG_STORAGE_DIR 的值指定为 ./docs/context_db。完成此设置后,AI 将仅利用指定路径的数据。这不仅提高了回答的准确性,还消除了与其他客户数据混淆的风险。
扫描版 PDF 或多列布局会降低 OCR 的识别率。如果表格紧贴页面边缘,YOLO 布局检测模型可能会将其误认为边框而将其整块剔除。解决方案很简单:在图像周围添加约 40 像素的白色边距即可。
实际上,紧贴边缘的表格在没有边距时识别率仅维持在 3% 左右,但添加 40px 边距后,识别率可提升至 98%。对于模糊的扫描件,请使用 OpenCV 调整对比度。应用以下公式将 (对比度)值调整在 1.0 到 3.0 之间,可以使文字边界更加清晰:
通过 Python 脚本应用 CLAHE 技术后再输入 MinerU,表格数据的提取量将增加数十倍以上。强迫 AI 去阅读肉眼都觉得模糊的文档纯属浪费时间。
在本地处理大量文档时,最大的障碍是 GPU 显存。虽然 MinerU 2.5 版本速度有所提升,但在显存低于 24GB 的环境下处理大型 PDF 时,系统经常会卡死。为了稳定性,必须将 num_batch 参数从默认值 512 降低到 32 或 64。
num_batch 修改为 32,将 gpu_memory_utilization 修改为 0.7。/etc/sysctl.conf 中限制内存过载使用(Overcommit)。虽然减小 Batch Size 可能会稍微降低处理速度,但可以防止进程在作业中途强制关闭。稳步完成比单纯追求速度更重要。
数据索引完成后,接下来就是提取结果了。由于 RAG-Anything 将表格与公式之间的关系结构化,因此可以在 Claude Code 中进行复合查询。诸如“请对比第三季度销售额表与当前技术规格书”之类的指令将变为可能。
为了减少每周重复的报告撰写时间,请使用明确的模板:
<context> 标签,输出格式用 <format> 标签区分。通过这个工作流,分析师只需集中精力审查 AI 生成的草案即可。完全没有理由再浪费时间去逐一对比原始数据。