个人版学术型深度搜索(beta版)

从此处而来(https://linux.do/t/topic/544511)
这个demo非常的差,全是幻觉

因此我用业余时间重新开发了一遍,整体感觉已经非常可用,以下是我的结果示例:

主要逻辑:用关键词在pubmed上获取摘要,并检索部分提供全文的高分文章(通过PMC),然后利用摘要和全文写综述

AI模型

  • grok3-beta(主AI)
  • gemini 2.5 pro(用于后续综述的撰写)

MCP工具

  • filesystem(cherry自带的)
  • pubmed_awesome_mcp_server(我自己开发的python脚本类MCP server,相比于市面已有的工具,速度更快、获得的摘要更完整、还能获取PMC全文)

交互:cherry studio

其他文件(可选):高分杂志列表,用于筛选文章

对话窗口的提示词:

你在扮演一个生命科学教授的助手。现在教授会发给你一个研究主题,接收后你将执行以下步骤:

步骤一:利用search_pubmed函数在pubmed检索研究主题,以英文的形式。sort_by参数设定为best match,然后返还最相关的前30个结果,剔除重复的项目,展示所有文章的标题、pmid、doi、杂志、PMCID(如果有的话)和完整摘要。你必须完整地展示所有的文章,并且不要擅自归纳;不要被篇幅所限制

步骤二:读取本地文件,并调用函数read_file读取本地文件/your_path/medical_related_Q1andIF5_final.csv。
这是一份JCR Q1分区且影响因子大于5的杂志名单。

步骤三,根据步骤二提供的杂志名单,筛选步骤一中的高分文献,保留其标题、杂志、impactfactor、pmcid(如果有的话)并按照impactfactor由高到低排列

步骤四,用pmcid_to_full_article函数批量检索前一步获得的前几个PMCID(数量最多为5),并将获得的标题和全文内容以json的形式整理,展示给教授。

最后,将所有的文章的摘要(来自于步骤一)和全文(如果有的话,来自于步骤五)的内容整理为综述。综述的主题即为第一步的研究主题。要求综述:1)整体尽可能详尽,充分利用检索的内容;2)尽可能分点叙述,每个要点彼此间互不重复但无遗漏;3)以尾注的形式标注引文,只需要保留标题、杂志、doi即可;还需要注明哪些文章引用了其全文内容,哪些仅引用了摘要内容。

在每个步骤执行前,检查一下你所有的函数工具,然后在执行教授的指令时尽可能使用它们。
在每个步骤执行后,你需要完整复述一遍下一步的指令,并询问教授是否执行,得到允许的答复后再继续。

单次耗时很久,限速步骤在于第四部获取pdf,很耗费token(我限定了5篇,大概耗费80k的token)

优势:

  1. 丰俭由人:可以在检索过程中额外增加筛选条件,如杂志影响因子、文章发表时间等

劣势:

  1. 对LLM的上下文长度要求较高,例如deepseek就不太适合。但gemini 2.5 pro会频繁截断,grok3反而意外地又快又好
  2. 无法一次性运行,只能分步进行(每次都要手动说“继续”才能继续执行下去)——这个是cherry studio的固有问题,即一次对话最好只能调用一个MCP工具——毕竟不是专门的agent工具
  3. 主要利用摘要信息,难以输入较多的pdf全文——事实上我还重写了其他mcp工具,包括调用sci-hub下载pdf原文的代码,但是发现如果pdf多了,上传给AI很容易出错,且消耗巨大的token,耗时长,容易截断

总之我觉得是一个很有前景的思路,用autogen优化流程也许会有真正的生产力。
而且我在过程中自己还开发了很多python类MCP工具,包括sci-hub快速批量下载、网页pdf批量读取、快速活动pmc全文等等,应该支持各个AI前端,且配合autogen等agent工具如虎添翼

快速自问自答:
Q:为什么不用autogen等多agent工具?
A:显然agent工具更适合,但我日常对cherry studio更依赖,暂时不太想为一个不常用的功能(深度搜索)专门支付学习成本和习惯改变

Q:这个“学术深度搜索”有什么实际应用场景?
A:低成本地进入新领域并了解其大致知识;不适合撰写正规论文、标书等高级用途

后续我会逐步分享实现的方式

66 个赞

我感觉搭配我自己写的MCP,在agent流的工具里面:一些agent检索,一些agent筛选,一些agent获取全文,最后写成报告/综述,好像真的有生产力了!!

限定在学术领域其实还挺简单,毕竟就那么几个数据库,获取方式也比较规范

28 个赞

好厉害啊~

25 个赞

膜拜技术流!

25 个赞

那么请问下,具体如何使用呢?

26 个赞

技术佬牛逼,赞一个

20 个赞

感谢大佬 !

这个在 cherry上怎么配置 :writing_hand:

计算机专业的论文去哪儿找呀?

我整合了新版,参考:

目前cherry用不了,因为有mcp调用时间的限制。chatmcp是没问题的

1 个赞

我制作了新版BADR,非常可用了!
完全开源

1 个赞

谢谢楼主

运行要很长时间吗?下了8篇文章 十几分钟还在转圈解析

marker处理pdf需要资源,你可以在脚本中把worker调成1

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。