一个研究者正在写文献综述,手里有一句话想放进报告:Transformer在所有翻译任务上总是优于循环模型。他打开《Attention Is All You Need》,觉得这篇论文能撑住这句话。
但论文的实验只覆盖两个机器翻译任务。作者的结果没有建立“总是”这个结论。研究者把实验条件丢掉了,换成了一个全称判断。审稿人现在得重新翻开论文,找到相关结果,再把这句话改回来。
![]()
这个检查环节,就是今天要放进研究工作流里的东西。用 TypeScript 搭一个学术论断核查代理,通过 Valyu SDK 检索选定论文中的证据,由 Jev 对每条陈述做评估,应用返回一个带原始证据的判定结果。
它到底在检查什么
设想一个准备文献综述的研究者。他有一句想写进去的话,还有一个文件夹,里面是他认为支持这句话的论文。他的问题是:这些来源真的支持这句话吗,支持在哪一段?
这就是任务本身。不是让模型判断这句话是否普遍为真,不是搜索整个网络,也不是把句子改到听起来合理为止。
工作流是这样的:论断加论文链接加主题查询,经过 Valyu SDK 检索,得到经过核验的论文摘录,再由 Jev 给出判定,最后生成一条证据可追溯的审查记录。段落来自论文本身。模型负责选择关系和段落,它不生成引文。
这个可执行示例使用 arXiv 链接或 ID,以便核验检索到的论文身份。其他文献库需要等价的 DOI 或出版商匹配器。本地 PDF 需要单独准备文本,再复用检查阶段;Jev 当前的输入是文本。
三种判定,边界要划清
用《Attention Is All You Need》做例子,这篇论文提出了 Transformer 架构。它的摘要写道:我们提出一种新的简单网络架构 Transformer,完全基于注意力机制,彻底摒弃了循环和卷积。
围绕这篇论文做三项检查,判定标签需要清晰的边界:
- supports:证据支持该论断
- contradicts:证据与该论断相矛盾
- not_addressed:论文没有涉及该论断
- insufficient_evidence:证据不足以判断
第三项是关键区分:论文讨论了性能,但这不能证明那个宽泛得多的陈述。缺乏支持不等于自动构成矛盾。
脚本还会使用 not_checked 处理操作层面的失败,比如检索未成功、论文匹配缺失、API 输出无效。这是代码赋予的状态,不是 Jev 返回的科学判断。这样能防止一篇无法获取的论文变成假阴性。“我没能取到证据”和“证据与论断矛盾”是两回事。
检索这一步怎么落地
使用 Node.js 24+,创建一个声明 ES 模块的 package.json,安装本教程测试过的包版本 valyu-js@2.10.5。在 shell 或密钥管理器中设置 VALYU_API_KEY 和 TYPESAFE_API_KEY,密钥分别来自 Valyu 和 TypeSafe。
检索时调用 Valyu TypeScript SDK 的 Search 方法。查询语句瞄准一个主题,includedSources 限定来源集合,responseLength 控制每条结果返回的内容量,它并不承诺返回完整论文。
完整程序还会检查每条结果的 arXiv 身份。看起来相关的第一条结果可能是另一篇论文。程序只保留被请求的那篇,合并不同的匹配摘录,并保留标题、链接、查询语句和检索时间。
带版本的请求必须显式匹配该版本;不带版本的结果无法证明使用了被请求的版本。不带版本的请求匹配作品 ID,可能检索到该作品的某个版本。
不同的证据需求要用不同的主题查询。“位置编码与循环”适合架构类论断,“翻译实验与评估结果”瞄准性能类论断。只按论文 ID 检索,不足以保证拿到其中任何一段。
Jev 检查的是返回的证据,不是论文里的每一句话。结果中会带上 evidenceScope: "search_excerpts",把这个边界明确标出来。检索证据缺失时,应该再做一次检索或复核,而不是宣布论文否定了该论断。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.