乐于分享
好东西不私藏

科研工具|手把手搭建文献解析AI智能体

科研工具|手把手搭建文献解析AI智能体

科研工具|手把手搭建文献解析AI智能体

文 / 刘海宁

编者按

惟创新者进,惟善智者强。当下人工智能浪潮席卷各行各业,正成为驱动行业变革、赋能管理升级的核心动能。

山东大学齐鲁医院人事处持续深耕学习型组织建设,立足岗位实际、紧跟时代步伐,齐鲁医院HR特开设《 智见》AI 专题分享栏目。栏目聚焦智能技术与医院管理的深度融合,分享实操经验、解析应用场景、探讨发展思路,旨在搭建思维碰撞、技术交流、实践共研的全新平台。

诚邀各位同仁一同探索 AI 价值、研习数字技能,以科技之力简化流程、以创新思维激发潜能,以智慧赋能优化服务,携手推动医院管理工作提质增效、行稳致远!

引言

阅读文献是科研人的必修课,当然,也是限速环节:检索、下载、读摘要,再加上非母语者的阅读速度,常常让人感到力不从心。

如今 GitHub 有不少开源 AI 智能体工具,搭配 Cherry Studio 平台就能搭建专属文献阅读助手,整套配置成本 5 元以内,单篇论文解析仅需 0.2-0.4 元,五分钟就能完成一篇文献深度拆解。这套智能体由大模型、开源技能包、MCP 外部接口三部分构成,三者组合即可实现 AI 自动读论文。

1

智能体“大脑”长什么样?

要实现智能体辅助阅读文献,我们需要先构建/组装这个大脑,它由三部分组成:

1.大模型——就像神经网络 + ATP 供能,比如 DeepSeek、GPT、Gemini 等。

2.技能(Skill)——人通过学习获得技能,智能体只需要一个“能力包”,通常是训练好的代码,可以从 GitHub 等开源平台下载,比如会做 PPT、会写小红书推文等。

3.MCP——巧妇难为无米之炊,再牛的科研人员没有仪器设备也寸步难行。MCP 就是智能体接入外界的接口,比如连接 SQL 数据库、接入小红书等。

一句话总结:基于一个大模型平台,配置好以上三部分,你的文献阅读助手就诞生了。

2

具体配置步骤

1.下载工具 Cherry Studio 聚合 300+大模型,支持智能体、MCP 扩展 下载链接:https://cherryai.com.cn/

2.配置大模型并创建智能体

①选用 DeepSeek V4 Pro,前往官网申领 API 密钥

②在Cherry Studio模型设置填入密钥完成接入

③安装 Git Bash,新建智能体并绑定该模型

3.安装论文解读技能paper-digest

①GitHub 搜索paper-digest,下载项目压缩包;

②软件内【设置-技能】,通过 ZIP 文件完成安装。

4.配置本地MCP(实现本地读取 PDF)

①环境准备:打开 PowerShell,安装依赖 python --version pip install PyMuPDF mcp

②新增 MCP 服务:设置→MCP 服务→添加(stdio 类型)

命令:填写本机 python.exe 路径

参数:填写local_mcp_server.py 存放路径 

③获取脚本:复制文末完整代码,保存为 local_mcp_server.py 放到对应文件夹 

④开启权限:保存配置,打开 MCP 总开关与智能体 MCP 工具权限

5.一切就绪后,就可以让Agent利用 paper-digest 技能分析文献啦!

补充说明

local_mcp_server.py 完整代码放在文末,复制粘贴即可使用。

3

local_mcp_server.py 完整代码

#!/usr/bin/envpython3

"""

本地MCP服务器-提供run_shell和run_python

"""

importsys

importos

importsubprocess

importtraceback

LOG=open(r"G:\OneDrive\桌面\mcp_debug.log","w",encoding="utf-8")

deflog(msg):

LOG.write(f"[MCP]{msg}\n")

LOG.flush()

log("===Starting===")

try:

frommcp.serverimportServer,InitializationOptions

importmcp.server.stdio

importmcp.typesastypes

log("importsOK")

server=Server("local-commands")

@server.list_tools()

asyncdefhandle_list_tools()->list[types.Tool]:

return[

types.Tool(

name="run_shell",

description="在本地执行shell命令并返回输出",

inputSchema={

"type":"object",

"properties":{

"command":{"type":"string","description":"要执行的命令"}

},

"required":["command"]

}

),

types.Tool(

name="run_python",

description="在本地执行Python代码并返回输出",

inputSchema={

"type":"object",

"properties":{

"code":{"type":"string","description":"Python代码"}

},

"required":["code"]

}

)

]

@server.call_tool()

asyncdefhandle_call_tool(name:str,arguments:dict)->list[types.TextContent]:

:

command=arguments.get("command","")

try:

result=subprocess.run(

command,shell=True,capture_output=True,

text=True,timeout=120,

encoding="utf-8",errors="replace"

)

output=result.stdout

ifresult.stderr:

output+=f"\n[STDERR]\n{result.stderr}"

ifnotoutput.strip():

output=f"(exitcode:{result.returncode})"

return[types.TextContent(type="text",text=output)]

exceptsubprocess.TimeoutExpired:

return[types.TextContent(type="text",text="错误:超时")]

exceptExceptionase:

return[types.TextContent(type="text",text=f"错误:{e}")]

elifname=="run_python":

code=arguments.get("code","")

try:

result=subprocess.run(

[sys.executable,"-c",code],

capture_output=True,text=True,timeout=120,

encoding="utf-8",errors="replace"

)

output=result.stdout

ifresult.stderr:

output+=f"\n[STDERR]\n{result.stderr}"

return[types.TextContent(type="text",text=output)]

exceptExceptionase:

return[types.TextContent(type="text",text=f"错误:{e}")]

return[types.TextContent(type="text",text=f"未知工具:{name}")]

asyncdefrun():

asyncwithmcp.server.stdio.stdio_server()as:

log("stdioconnected,callingserver.run...")

init_opts=server.create_initialization_options()

awaitserver.rtasyncio

asyncio.run(run())

exceptExceptionase:

log(f"FATAL:{e}")

log(traceback.format_exc())

LOG.close()

raise

结语

      这套流程配置好后,大家只需要把PDF论文丢给智能体,AI就能自动帮你提取核心内容、总结要点。

      对于需要大量泛读文献的科研党来说,效率提升非常明显。

      如果你也在用类似的AI工具读文献,欢迎留言交流~

文字编辑 | 田茂臻   

责任编辑 | 李卓群   

      审核 | 赵   玲   

投稿邮箱:qlyyhr@126.com