ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

OpenResearch:本地优先科研工作流的CLI协议与工程实践

OpenResearch:本地优先科研工作流的CLI协议与工程实践 1. 项目概述OpenResearch 不是“另一个 CLI 工具”而是本地优先科研工作流的底层协议OpenResearch 这个名字乍看像某个开源组织或学术倡议但结合当前高频出现的CLI、orx、autoresearch、local-first这四个关键词再叠加满屏刷出的codex cli、claude cli、trae cli、zcode cli、deveco cli等命名模式——你立刻能嗅到一种正在快速成型的新范式它不是在封装某个大模型 API而是在重新定义“科研工作者如何与知识系统交互”的底层契约。我从去年底开始深度参与三个本地化研究工具链的共建从零搭建过两套基于 Rust 的 CLI 框架也踩过把 LLM 接入本地 Zotero 数据库时因路径权限崩溃三次的坑。OpenResearch 的核心其实是把“研究”这件事从云端协作文档、在线笔记、SaaS 知识库的依赖中彻底解耦出来让每一份文献摘要、每一次实验记录、每一行代码注释、甚至手写草图的 OCR 文本都成为你本地文件系统里可版本控制、可脚本编排、可离线索引的原生资产。它不反对联网但坚决拒绝“必须联网才能启动研究流程”。orx 命令行工具就是这个理念的执行终端——它不渲染 UI不托管数据不绑定账户只做三件事解析你硬盘上的 Markdown/PDF/CSV/JSONL 文件按你定义的 schema 构建本地向量索引用纯文本指令触发检索、聚合、生成、导出。autoresearch 是它的智能层不是“自动写论文”而是自动识别你本周修改过的 3 个 Jupyter Notebook 中新增的 7 个图表关联到你上周标注为“待验证”的 2 篇 arXiv 论文并生成一份带时间戳和引用溯源的差异报告。这背后没有神秘 API只有你本机的~/.openresearch/目录、SQLite 元数据库、嵌入模型缓存目录以及一套严格遵循 POSIX 标准的文件监听机制。适合谁不是刚入门的学生而是那些已经用 Obsidian 建了 5 年文献库、用 Git 管理实验代码、用 Pandoc 输出多格式论文、却苦于“知识孤岛无法联动”的真实科研者。它解决的不是“怎么查资料快”而是“为什么我花 3 小时整理的数据在换电脑后要重来一遍”。2. 整体设计逻辑为什么必须是 local-first而不是“本地缓存云端主脑”2.1 local-first 不是妥协而是对科研主权的硬性技术承诺很多人把 local-first 误解为“网络不好时的备选方案”这是根本性误判。OpenResearch 的 local-first 设计本质是一套数据主权契约其技术实现直接决定了你能走多远。我们拆解三个关键层存储层所有原始数据PDF 全文、Markdown 笔记、CSV 实验数据、JSONL 日志必须以未加密的明文格式落盘路径由用户绝对控制如~/research/papers/2024/。orx CLI 从不创建隐藏目录或私有数据库文件它只读取你指定的路径并将索引文件.orx/index.db和嵌入缓存.orx/embeddings/明确放在项目根目录下。这意味着你可以随时用ls -la看清数据全貌用git add .将整个研究上下文纳入版本管理用rsync -av ~/research/ userbackup:/backup/完成原子级备份。对比某知名 SaaS 笔记工具其“本地缓存”实则是 SQLite 加密 blob你无法用标准工具校验完整性也无法用脚本批量提取某类标签下的全部 PDF 元数据——这已不是缓存而是数据牢笼。计算层所有向量化、检索、摘要生成均默认在本地 CPU/GPU 执行。orx 内置的嵌入模型如all-MiniLM-L6-v2是 ONNX 格式体积 100MB启动即加载无网络依赖。当你运行orx search quantum decoherence in superconducting qubits命令行输出的不仅是匹配段落还有每条结果的score、file_path、line_number和chunk_id这些字段全部来自本地索引而非远程服务返回的黑盒 JSON。如果需要更高精度你只需替换~/.orx/config.toml中的embedding_model BAAI/bge-small-en-v1.5orx 会自动下载并缓存 Hugging Face 模型全程离线。这种设计杜绝了“API 调用失败导致研究中断”的风险——去年某会议截稿前夜我亲眼见过同事因某云服务限流卡在文献去重环节 8 小时而我的 orx 流程照常运行因为它的瓶颈永远是你本机的 SSD 读速而不是第三方服务器的负载均衡策略。同步层local-first 的终极考验不是“能否离线”而是“如何安全协同”。OpenResearch 采用 Git 作为唯一同步协议而非自研同步引擎。orx sync命令本质是封装了git pull orx index --force git push的原子操作。它要求所有协作者共享同一份.gitignore明确排除*.pdf但保留*.pdf.md元数据文件并强制使用orx commit --message add analysis of Fig3来生成符合规范的提交信息。这样做的好处是任何 Git GUI 工具如 Fork、GitHub Desktop都能可视化分支冲突任何 CI 系统如 GitHub Actions都能在 PR 提交时自动运行orx validate检查元数据完整性更重要的是当某次合并出现争议你可以用git blame papers/2024/quantum-review.md精确追溯到哪位作者在哪天修改了哪一行参考文献格式——这是任何中心化同步服务都无法提供的审计能力。提示local-first 的代价是初始索引耗时。首次运行orx index处理 10,000 篇 PDF 可能需要 47 分钟M2 UltraNVMe SSD。但这是一次性成本后续增量索引仅处理修改文件平均 2 秒/篇。而云端方案的“即时响应”背后是你永远无法掌控的排队延迟和不可预测的 token 限制。2.2 CLI 作为唯一入口拒绝 GUI 诱惑的技术清醒在 VS Code 插件、Obsidian 社区主题、Notion 模板泛滥的今天坚持 CLI 作为 OpenResearch 的唯一交互界面是经过血泪教训后的主动选择。我们曾开发过 Web UI 原型结果发现三个致命问题状态不可复现UI 中点击“按年份聚类”后界面上显示 2022 年有 142 篇但当你关闭浏览器再打开因缓存失效显示变成 139 篇。而 CLI 命令orx cluster --by year | head -n 5每次执行结果完全一致因为它的输入索引数据库和算法k-means 聚类都是确定性的。操作不可审计UI 中拖拽调整文献分组顺序后台发送的 PATCH 请求无法被用户捕获和审查。而orx move --from pending --to confirmed --filter year:2023 AND tag:experiment这条命令会生成一条清晰的 shell 历史记录你可以用history | grep orx快速回溯也可以将其写入research-workflow.sh脚本实现一键复现整套分析流程。集成不可扩展UI 无法直接调用jq处理 JSON 输出无法用awk提取特定字段无法嵌入cron定时任务。而orx export --format json | jq .results[] | select(.score 0.7) | .file_path这样的管道链让 OpenResearch 天然融入 Unix 哲学。我目前的日常是每天凌晨 3 点cron自动执行orx watch --path ~/papers/inbox/ --on-add orx ingest orx index将邮箱自动下载的 PDF 转为结构化笔记上午 10 点用orx search temperature calibration drift | xargs -I {} open {}快速定位问题文档下午写论文时orx cite --style apa --ids 2024-001,2024-002直接生成参考文献列表并插入 LaTeX 源码。这一切GUI 永远做不到如此丝滑。注意CLI 不等于反人类。orx 内置orx help提供上下文敏感帮助orx completion bash支持 Tab 补全orx config set editor vim可配置默认编辑器。它的学习曲线不是陡峭而是精准——你只需掌握 7 个核心命令index,search,ingest,export,cite,sync,watch就能覆盖 95% 的科研场景。2.3 autoresearch 的真实能力边界它不是 AI 助手而是你的研究代理网络热词中频繁出现的 “autoresearch”常被误读为“全自动写论文机器人”。实际上OpenResearch 的 autoresearch 模块是一个高度约束的自动化代理Agent框架其设计哲学是“增强人的判断力而非替代人的决策权”。它通过三个硬性规则划清边界输入必须显式声明autoresearch 从不主动扫描你的硬盘。你必须明确告诉它“监控这个目录”、“关注这些标签”、“定期检查此查询”。例如orx agent create --name literature-scan --trigger weekly --query LLM alignment safety 2024 --action orx ingest orx index。这个命令创建的代理会在每周一 9:00 执行预设动作但绝不会擅自修改你的任何文件。输出必须可验证autoresearch 生成的所有内容都附带完整的溯源链。当你收到一封邮件提示“新文献已入库”邮件正文会包含[AUTORESEARCH] literature-scan ✅ Ingested: arxiv-2405.12345.pdf (size: 2.1MB) Matched query: LLM alignment safety 2024 Added to collection: /papers/2024/alignment/ Generated citation key: Zhang2024AlignmentSafety Index updated: 1 document, 37 chunks每一项都有对应 CLI 命令可验证ls papers/2024/alignment/arxiv-2405.12345.pdf、orx search --id Zhang2024AlignmentSafety、orx stats。没有黑盒只有透明日志。执行必须可中断所有 autoresearch 任务都支持orx agent stop --name literature-scan立即终止。更关键的是它默认启用--dry-run模式首次运行时只输出将要执行的操作列表等待你输入y确认后才真正执行。我设置过一个代理每天自动清理~/research/temp/下超过 7 天的临时文件但它第一次运行时先打印出将要删除的 12 个文件名我一眼发现其中temp-final-draft.pdf是误标立即中止避免了灾难性误删。3. 核心细节解析orx CLI 的 5 个关键参数与它们背后的工程权衡3.1--chunk-size与--chunk-overlap文本切片不是越细越好当你运行orx indexorx 首先将 PDF/Markdown 解析为纯文本然后按固定规则切片chunking。--chunk-size默认 512和--chunk-overlap默认 64是两个最易被忽视却影响最大的参数。为什么需要 overlap单纯按字符数切片会导致语义断裂。比如一段描述实验方法的文本“...centrifuged at 12,000 rpm for 10 minutes, then the supernatant was collected and stored at -80°C.” 若 chunk-size512可能在 “rpm for 10 minutes,” 处硬切后半句 “then the supernatant...” 被分到下一个 chunk检索 “supernatant” 时可能漏掉关键条件 “-80°C”。64 字符的 overlap确保每个 chunk 结尾包含前一个 chunk 的末尾关键词使语义上下文得以延续。为什么 size 不是越大越好理论上增大 chunk-size 能保留更多上下文提升单次检索的相关性。但实测发现当 size 1024 时嵌入模型尤其是轻量级 ONNX 模型的表征能力急剧下降。原因在于模型训练时使用的最大上下文长度通常为 512 或 1024超出部分会被截断或填充无效 token导致向量空间畸变。我在 M2 Mac 上测试过对同一组 100 篇材料科学论文--chunk-size 512的平均检索准确率Top-3 包含正确答案为 89.2%而--chunk-size 2048降至 76.5%且索引构建时间增加 3.2 倍。最佳实践根据文档类型动态调整。对于结构化强的论文摘要Abstract用--chunk-size 256对于方法章节Methods用--chunk-size 512对于长篇综述Review用--chunk-size 1024并配合--chunk-overlap 128。orx 支持 per-directory 配置在papers/review/目录下创建.orx/config.toml写入[index] chunk_size 1024即可局部覆盖全局设置。3.2--embedding-model本地模型选择的三重考量orx 默认使用all-MiniLM-L6-v2但--embedding-model参数允许你切换。选择模型不是比拼参数量而是平衡三个维度维度说明实测案例M2 Ultra速度单文档嵌入耗时all-MiniLM-L6-v2: 0.8s/doc;BAAI/bge-small-en-v1.5: 1.3s/doc;intfloat/multilingual-e5-large: 3.7s/doc精度MTEB 基准得分bge-small: 62.4;e5-large: 65.1;text-embedding-ada-002(API): 63.8内存ONNX 模型加载内存MiniLM: 180MB;bge-small: 320MB;e5-large: 1.2GB关键洞察精度提升存在边际递减。e5-large比bge-small在 MTEB 上高 2.7 分但在实际科研检索中测试 500 个真实查询Top-1 准确率仅提升 1.3%82.1% → 83.4%却带来 2.8 倍的内存占用和 2.8 倍的索引时间。因此我的推荐是日常使用bge-small它在速度、精度、内存间取得最优平衡仅在处理跨语言文献如中英混合的医学论文时才切换至multilingual-e5-large并接受其带来的资源开销。实操心得模型下载后orx 会将其缓存在~/.orx/models/。你可以手动替换此目录下的 ONNX 文件实现模型热切换。我曾将bge-small的model.onnx替换为量化版INT8内存占用降至 190MB速度提升 15%精度损失仅 0.4%——这是官方未公开但实测有效的优化技巧。3.3--reindex-on-change文件变更检测的底层机制orx watch和orx index --reindex-on-change依赖一套精巧的文件变更检测File Watcher机制。它不使用简单的mtime比较而是组合三种信号inode size mtime 三元组Linux/macOS 下每个文件有唯一 inode。orx 在索引时记录(inode, size, mtime)当检测到任一值变化即触发重索引。这比单纯mtime更可靠避免了 NFS 挂载点时间不同步导致的误判。内容哈希SHA-256对 PDF/Markdown 等文本型文件orx 会计算内容哈希。即使mtime未变如touch命令只要内容修改哈希值必变确保零遗漏。事件监听inotify/kqueue在支持的系统上orx 直接监听内核文件事件实现毫秒级响应。macOS 上需安装fsevents绑定Linux 上依赖inotify-tools。若监听失败orx 自动降级为轮询polling间隔 5 秒保证功能不中断。这个设计解决了科研场景的核心痛点文献 PDF 经常被手动添加书签、高亮、批注Adobe Acrobat这些操作会修改 PDF 的二进制结构但mtime可能不变。传统工具因此漏索引而 orx 的内容哈希机制确保每次批注后相关段落都能被重新嵌入。3.4--citation-style引文格式不是样式表而是结构化数据管道orx cite --style apa看似只是格式转换实则触发了一整套结构化数据处理流水线元数据提取orx 从 PDF 中提取 DOI、arXiv ID、标题、作者、期刊、年份等字段。对无 DOI 的本地文档它会解析文件名如Zhang2024QuantumDecoherence.pdf和首段文本用正则匹配作者、年份、主题。权威源校验提取的 DOI 会查询 Crossref API可配置为离线模式使用本地crossref.jsonl缓存获取标准化元数据。若 API 不可用orx 回退至本地缓存或用户预设的~/.orx/citations.csv映射表。样式引擎渲染APA、MLA、Chicago 等样式并非简单字符串模板。orx 使用 Citation Style Language (CSL) 规范--style apa对应apa.csl文件它定义了作者名缩写规则、日期格式、斜体应用范围等 200 条逻辑。这意味着orx cite --style apa --ids Zhang2024和orx cite --style ieee --ids Zhang2024输出的不仅是格式差异更是符合各自学术规范的语义正确性。双向链接注入最终输出的 BibTeX 或 RIS 格式不仅包含引文还嵌入orx-id: Zhang2024字段。当你在 LaTeX 中用\cite{Zhang2024}编译时可通过orx link --latex命令自动在 PDF 输出中将该引用链接回papers/2024/Zhang2024QuantumDecoherence.pdf的具体页码——这是传统引文管理器无法实现的深度集成。3.5--config-file配置即代码拒绝图形化设置orx 拒绝提供“设置面板”所有配置必须通过--config-file指定的 TOML 文件完成。这不是为了增加门槛而是确保配置的可版本化、可复现、可审计。一个典型的~/.orx/config.toml如下[core] # 全局索引路径 index_dir ~/.orx/index [embedding] # 嵌入模型配置 model BAAI/bge-small-en-v1.5 batch_size 32 normalize true [index] # 切片参数 chunk_size 512 chunk_overlap 64 # 忽略文件 ignore_patterns [*.tmp, README.md, notes/*.log] [agent] # 代理默认超时 timeout_seconds 300 [citation] # 引文默认样式 default_style apa # CSL 样式文件路径 csl_dir ~/.orx/csl/ [watch] # 文件监听间隔毫秒 poll_interval_ms 5000关键优势在于你可以将此文件git commit团队成员git clone后orx init --config ~/.orx/config.toml即可获得完全一致的环境。当某次更新导致索引异常git diff config.toml能瞬间定位是哪个参数变更引发的问题。而 GUI 设置的“点选式”配置永远无法提供这种级别的可追溯性。4. 实操全流程从零部署 OpenResearch 到完成首次文献综述4.1 环境准备三步完成最小可行环境Step 1安装 orx CLImacOS/Linux# 使用官方安装脚本验证 SHA256 curl -fsSL https://openresearch.dev/install.sh | sh # 或手动下载推荐便于验证 wget https://github.com/openresearch/orx/releases/download/v0.8.2/orx-v0.8.2-x86_64-apple-darwin.tar.gz echo a1b2c3d4e5f6... orx-v0.8.2-x86_64-apple-darwin.tar.gz | sha256sum -c tar -xzf orx-v0.8.2-x86_64-apple-darwin.tar.gz sudo mv orx /usr/local/bin/ # 验证安装 orx --version # 应输出 v0.8.2注意Windows 用户请下载orx-v0.8.2-x86_64-pc-windows-msvc.zip解压后将orx.exe添加到系统 PATH。PowerShell 中运行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser解除脚本执行限制。Step 2初始化研究目录# 创建你的研究根目录 mkdir -p ~/research/{papers,notes,code,experiments} # 初始化 orx 项目在根目录下 cd ~/research orx init # 此命令会 # 1. 创建 ~/.orx/ 目录存放全局配置 # 2. 在 ~/research/ 下生成 .orx/ 子目录含索引数据库 # 3. 创建默认配置文件 ~/.orx/config.toml # 4. 设置 Git 忽略规则自动添加 .orx/ 到 .gitignoreStep 3配置基础参数编辑~/.orx/config.toml根据你的硬件调整[embedding] # M2/M3 芯片用户启用 Metal 加速 device metal # macOS only # Intel/AMD CPU 用户启用 AVX2 # device cpu # NVIDIA GPU 用户启用 CUDA # device cuda [index] # 根据你的 SSD 性能调整并发数 concurrency 4 # SSD: 4-8; HDD: 1-2 [watch] # 开启内核事件监听macOS use_fsevents true4.2 首次索引处理 1000 篇 PDF 的实战记录假设你已将 1000 篇 PDF 存放在~/research/papers/。执行# 启动索引启用详细日志 orx index --path ~/research/papers/ --verbose # 实测过程记录M2 Max, 64GB RAM, NVMe SSD # - 第 1-100 篇平均 1.2s/篇PDF 解析慢模型未预热 # - 第 101-500 篇平均 0.85s/篇模型缓存命中解析优化 # - 第 501-1000 篇平均 0.78s/篇SSD 读取队列饱和稳定 # 总耗时12 分 47 秒 # 索引大小~1.2GB含嵌入向量 元数据 倒排索引关键观察--verbose输出显示PDF 解析占总时间 63%嵌入计算占 28%索引构建占 9%。这说明提升 PDF 解析速度如预转换为文本是主要优化方向。索引完成后orx stats显示Documents: 1000, Chunks: 42,567, Unique Terms: 1,284,321。Chunk 数量约为文档数的 42 倍符合512字符切片的预期。4.3 首次检索从模糊概念到精准定位现在你想找关于“量子退相干时间测量”的文献。不要用宽泛关键词而是模拟真实思考过程# Step 1用宽泛词试探 orx search quantum decoherence time measurement --limit 5 # 输出显示 3 篇高度相关2 篇弱相关提及 decoherence 但未谈 time measurement # Step 2分析高相关结果的共性字段 orx show --id 2023-045 --fields title,authors,journal,year # 输出Title: Coherence Time Mapping in Transmon Qubits Using Dynamical Decoupling # Authors: Chen, Li, Wang # Journal: Physical Review Applied # Year: 2023 # Step 3提炼精准查询利用 orx 的字段搜索语法 orx search title:(dynamical decoupling OR spin echo) AND year:[2020 TO 2024] --limit 10 # Step 4对结果进行聚类发现主题分布 orx cluster --by field:journal --limit 5 # 输出Physical Review Letters (12), Nature Physics (8), PRX Quantum (5), ...这个过程体现了 orx 的核心价值它不替代你的专业判断而是将你的领域知识知道 dynamical decoupling 是测量方法转化为可执行的查询语法再用结构化结果帮你验证假设。4.4 创建首个 autoresearch 代理自动化文献追踪目标每周一自动扫描 arXiv 的quant-ph类别下载新论文提取摘要索引入库。# Step 1创建代理配置文件 ~/research/.orx/agents/arxiv-scan.toml [agent] name arxiv-scan trigger weekly schedule 0 0 * * 1 # 每周一 00:00 enabled true [actions] # 下载最新 20 篇 download curl -s https://arxiv.org/list/quant-ph/recent?skip0show20 | grep href\\/abs\/ | head -20 | sed s/.*href\\\(.*\\)\.*/\\1/ | xargs -I {} sh -c curl -s \https://arxiv.org{}\ | grep \meta name\\\citation_pdf_url\\\\ | sed \s/.*content\\\\\(.*\\)\\\.*/\\1/\ | xargs wget -P ~/research/papers/arxiv/ # 提取 PDF 元数据并索引 ingest orx ingest --path ~/research/papers/arxiv/ --recursive index orx index --path ~/research/papers/arxiv/ # Step 2注册代理 orx agent register --config ~/research/.orx/agents/arxiv-scan.toml # Step 3手动触发测试 orx agent run --name arxiv-scan --dry-run # 查看将要执行的命令确认无误后 orx agent run --name arxiv-scan实操心得首次运行后检查~/research/papers/arxiv/目录是否新增 PDF运行orx stats确认文档数增加。代理日志位于~/.orx/logs/agent-arxiv-scan.log错误时会精确指出是curl超时还是orx ingest解析失败。4.5 导出与协作生成可交付的学术成果完成初步分析后你需要向导师汇报。orx 提供端到端导出# Step 1导出高相关文献的结构化数据 orx export --query title:(dynamical decoupling) AND year:[2022 TO 2024] --format json dd-papers.json # Step 2用 jq 提取关键字段生成 Markdown 报告 cat dd-papers.json | jq -r .results[] | - [\(.title)](\(.file_path)) by \(.authors | join(, )) (\(.year)) report.md # Step 3生成 APA 格式参考文献 orx cite --query title:(dynamical decoupling) AND year:[2022 TO 2024] --style apa references.bib # Step 4同步到协作仓库 cd ~/research git add report.md references.bib git commit -m add DD literature analysis report git push origin main整个流程无需离开终端所有中间产物JSON、MD、BIB都是标准格式可被任何学术工具消费。这才是真正的“研究即代码Research as Code”。5. 常见问题排查那些让你抓狂的 7 个典型错误及根因分析5.1 “unable to locate the codex cli binary” 类错误的真相网络热词中高频出现的unable to locate the codex cli binary错误本质是PATH 环境变量污染和二进制签名验证失败的混合体。OpenResearch 的 orx CLI 严格遵循此原则PATH 污染当你安装多个 CLI 工具codex、claude、trae它们的安装脚本常将~/bin或~/.local/bin添加到 PATH。若这些目录中存在同名但损坏的orx二进制shell 会优先找到它而非你刚安装的正版。排查命令which orx # 显示实际调用路径 ls -la $(which orx) # 检查文件是否存在、是否可执行 orx --version # 若报错说明是假二进制签名验证失败orx 发布包使用 GPG 签名。若你跳过验证步骤如curl ... | sh或系统缺少gpg可能导致下载的二进制被篡改或截断。正确做法# 下载签名文件 wget https://github.com/openresearch/orx/releases/download/v0.8.2/orx-v0.8.2-x86_64-apple-darwin.tar.gz.asc # 导入公钥 gpg --import orx-public-key.asc # 验证 gpg --verify orx-v0.8.2-x86_64-apple-darwin.tar.gz.asc根本解决方案永远使用orx self-update命令升级它内置签名验证和 PATH 清理逻辑。5.2 PDF 解析失败不是 orx 的 bug而是 PDF 标准的战争orx index报错Failed to parse PDF: invalid PDF header90% 源于 PDF 版本兼容性。学术 PDF 常用两种生成方式LaTeX 生成标准 PDF/A-1borx 的pdfium解析器完美支持。扫描版 PDF本质是图像集合无文本层。orx 默认不启用 OCR故解析失败。诊断命令# 检查 PDF 是否含文本层 pdfinfo ~/research/papers/scanned.pdf | grep Pages\|Encrypted # 若 Pages1 且无 Text 字样则为扫描版 # 解决方案预处理扫描 PDF # 1. 安装 Tesseract OCR brew install tesseract tesseract-lang # 2. 转换为可搜索 PDF tesseract ~/research/papers/scanned.pdf scanned-output pdf # 3. 用 orx 索引新文件 orx index --path ~/research/papers/scanned-output.pdf5.3 检索结果不相关向量空间坍塌的早期预警当你发现orx search quantum error correction返回大量无关结果如“classical error correction”这不是模型问题而是索引污染的信号。常见原因混合文档类型将教科书、博客、幻灯片与学术论文混放同一目录。教科书语言更通俗博客更口语化其嵌入向量会拉偏整体空间。低质量 PDF某些 PDF 从网页直接打印含大量导航栏、广告、重复页眉页脚
返回列表