进阶 11 分钟搜索

Zotero + 本地 LLM:用于总结和查询个人知识库 bibliographie

Zotero 可集中管理您的参考文献和 PDF;本地运行的 LLM 能够读取并综合整理这些内容。将两者连接起来,就能构建一个研究助手,用于总结一篇论文、比较多篇论文并准备研究现状综述,全程不会将您尚未发表的研究成果发送到云端。本指南介绍如何使用 Ollama 和一个 RAG 模块,从头到尾搭建这套 Zotero + AI 工作流程。

作者: Clara M.·更新于 2026-08-27·已在 Windows、macOS 和 Linux 上测试

#为何将本地AI与Zotero集成

研究人员在 Zotero 中会迅速积累数百篇论文,其中大多数仍处于未发表、受 embargo 限制或受保密条款保护的状态。将正在评审的稿件 PDF 直接粘贴到云端聊天机器人中,实际上就是将内容交由第三方处理——有时甚至用于训练其模型。在本地运行 LLM 则从根本上解决了这一问题:文件保留在本地磁盘上,推理过程在本地设备完成,没有任何内容被泄露。

将 Zotero 用作科研 AI 工具的优势不止在于隐私。您的文献库已经组织有序:按项目划分的文献集、标签、规范的元数据、带批注的 PDF。这是可供 LLM 直接使用的文献基础。与其重新下载和整理论文,不如让模型直接连接 Zotero 已经整理好的内容。

总结
三十秒内获取一篇二十页文章的目标、方法与结果,以您的语言呈现。
查询
提出一个问题,让模型在整套资料中搜索答案,而非仅限于单个PDF文件。
对比
对比多篇论文的方法或结果,初步梳理研究现状。
隐私
处理受限制的稿件或同事提供的敏感数据,且不包含泄密条款。
i
本地 AI 无法替代什么
本地 LLM 可以节省您的阅读时间,但不能让您省去严谨审查。它生成的是需要复核的摘要草稿,而不是可以原样引用的真理。有关局限性的章节说明了它仍会在哪些方面出错。

#Zotero 与 LLM 如何交互

本地 RAG 工具包

你的文档,你的 AI:基于你的 PDF、笔记和邮件的可靠本地 RAG——无需向云端发送任何内容。

  • 在线空间,终身可用
  • PDF + 文件
  • 30 天内退款

Zotero 并不能原生地与语言模型“对话”。两者通过文件连接:Zotero 将每个 PDF 存储在您的磁盘上,再由您将这个 PDF 交给 LLM 阅读。主要有两种方法,两者并存,也经常结合使用。

按需摘要
从某个特定的 PDF 中提取文本,再将文本连同摘要指令发送给 Ollama。简单、快速,非常适合一次处理一篇文章。
基于文献库的RAG
将整个文件夹中的 PDF 索引到向量数据库中,然后用自然语言查询。模型只读取相关段落,因此可以涵盖数十篇论文。

在这两种情况下,核心都是 Zotero 的存储文件夹,所有 PDF 都存放在其中。Zotero 7 还提供本地 API(端口为 23119),可以通过程序列出其中的条目;不过,起步时直接指向文件是最可靠、最直观的方式。

#先决条件

Zotero 7
文献条目中需附有您的 PDF 文件,而不只是元数据。无需使用内置 PDF 阅读器,但文件必须存储在本地。
Ollama
模型服务守护进程,默认运行在http://localhost:11434上。如尚未安装,请参见安装指南。
用于总结的模型
Qwen 3.5 9B(采用 Q4_K_M 时约需 6.6 GB 显存,支持 256k 上下文和视觉功能),或法语表现出色的 Mistral Small 24B;配置较低时,Qwen 3.5 4B(3.4 GB)就足够了。
嵌入模型
对于RAG:可使用ollama pull获取nomic-embed-text或mxbai-embed-large。两者体积轻巧,甚至无需GPU即可运行。
一个可选的 RAG 模块
如果您想无需编程就能对整个文献库提问,可以使用 AnythingLLM 或 Open WebUI。
获取模型
# Modèle de synthèse (adaptez à votre VRAM)
ollama pull qwen3.5:9b

# Modèle d'embeddings pour le RAG
ollama pull nomic-embed-text
→
根据 GPU 选择模型大小
采用 Q4_K_M 量化时,7B 模型约需 5 GB 显存,14B 模型约需 9 GB,32B 模型约需 19 GB。配备 12 GB 显存的 RTX 3060 可以轻松运行 14B 模型;在采用统一内存的 Mac 上,也可以考虑运行 32B 模型。

#步骤 1:在 Zotero 中找到自己的 PDF 文件

Zotero 将每份附件存放在 storage 目录的一个子文件夹中,该子文件夹以一个八字符的键命名。您无需详细了解这套目录结构:只要知道它的位置,就能让 LLM 指向该目录。

Windows
C:\Users\<vous>\Zotero\storage
macOS
~/Zotero/storage
Linux
~/Zotero/storage

如有疑问,可在 Zotero 的“编辑 ▸ 设置 ▸ 高级 ▸ 文件与文件夹 ▸ 数据目录”中查看确切路径。storage 文件夹就在该目录内。

要有条理地处理一个具体项目,最好导出一个文献集合,而不是翻找整个 storage 目录。右键点击一个集合 ▸「Exporter la collection」:Zotero 可以将 PDF 和参考文献列表(BibTeX、CSV、JSON)复制到一个专用文件夹中,随后将这个文件夹提供给 LLM。

i
提取文本,不提取图像
LLM 读取的是文本,而不是像素。没有文本层的“扫描版”PDF 必须先经过 OCR 处理,例如使用 ocrmypdf。现代出版商提供的 PDF 已包含可直接使用的文本层。

#步骤2:总结一篇科学文章

最常见的场景是:您在 Zotero 中打开一篇论文,希望先查看摘要,再决定是否值得阅读全文。先提取 PDF 中的文本,再将其发送给 Ollama。pymupdf(fitz)库能干净、快速地完成文本提取。

依赖项
pip install pymupdf requests
resumer_article.py
import sys, fitz, requests

def extraire_texte(pdf_path):
    doc = fitz.open(pdf_path)
    return "\n".join(page.get_text() for page in doc)

SYSTEM = (
    "Tu es un assistant de recherche. Tu résumes des articles "
    "scientifiques en français, avec rigueur, sans rien inventer. "
    "Tu t'appuies uniquement sur le texte fourni."
)

texte = extraire_texte(sys.argv[1])

resp = requests.post("http://localhost:11434/api/chat", json={
    "model": "qwen3.5:9b",
    "stream": False,
    "options": {"num_ctx": 16384, "temperature": 0.2},
    "messages": [
        {"role": "system", "content": SYSTEM},
        {"role": "user", "content": PROMPT + "\n\n---\n" + texte},
    ],
})

print(resp.json()["message"]["content"])

通过端口 11434 调用 Ollama 的 REST API:它将系统消息(角色)与内容(文章)分开。这里有两个关键设置——将温度设为较低的值(0.2),以减少无依据的发挥;将 num_ctx 设得足够大,以容纳整篇论文而不截断。

!
上下文窗口是你的硬性限制
一篇二十页的文章通常有 12,000 至 18,000 个词。如果 num_ctx 太小,模型就只能看到 PDF 的开头,并在没有看到结尾的情况下盲目总结结尾内容。请检查模型的上下文长度;如果显存足够,就增大 num_ctx,否则按章节拆分。

#可靠的摘要提示词

摘要质量更多取决于提示词,而非模型本身。模糊的提示词会生成泛泛而谈的段落;结构化的提示词则能生成可重复使用的阅读笔记。关键在于:要求模型采用与科学论文结构相匹配的分节格式,并禁止其生成超出原文内容的信息。

读书笔记提示词
Rédige une fiche de lecture en français de l'article ci-dessous, en respectant EXACTEMENT ce format :

## Question de recherche
Ce que l'article cherche à établir, en une à deux phrases.

## Méthode
Données, protocole, modèles ou outils utilisés.

## Résultats principaux
- Une puce par résultat marquant, chiffré si l'article donne des chiffres.

## Limites annoncées
- Les limites que les auteurs reconnaissent eux-mêmes.

## À retenir pour mon état de l'art
Deux à trois phrases sur l'apport et le positionnement de l'article.

Règles :
- Ne reprends que ce qui est réellement écrit dans l'article.
- Si une section n'est pas renseignée dans le texte, écris « non précisé ».
- N'invente aucun chiffre, aucune référence, aucun nom d'auteur.
强制使用的格式
分节标题迫使模型对信息进行归类,而不是冗长铺陈。不同文章会采用同一套结构,便于一眼比较。
反幻觉规则
“只采用已有文字中写明的内容”和“未说明”可降低 LLM 编造结果或参考文献的风险——这是科学场景中的主要危险。
文献综述部分
明确要求说明研究的定位,就能把摘要转化为可直接用于文献综述的素材。
→
请始终回到原始来源核实数字
即使温度设置很低、指令很严格,大语言模型仍可能把某一行的数字错放到另一行。摘要中的每个数字都应视为待核实的线索,引用前须先在 PDF 中确认。

#步骤 3:通过 RAG 向整个文献库提问

总结PDF非常有用;一次性查询五十篇论文,这才是改变文献综述准备方式的关键。现在我们进入RAG(检索增强生成)阶段:将PDF分割成片段,利用嵌入模型将其转换为向量,而大语言模型仅阅读每个问题相关的段落。

最简单的方法是无需编写代码,直接将 AnythingLLM 或 Open WebUI 指向从 Zotero 导出的文件夹(或直接指向 storage)。这些工具会为您处理索引和向量数据库;只需选择 Ollama 作为服务提供商,nomic-embed-text 作为嵌入模型即可。

  1. 01
    导出文献分类
    在 Zotero 中,将相关文献集连同其中的 PDF 导出到专用文件夹,例如 ~/recherche/etat-de-l-art。
  2. 02
    创建工作空间
    在 AnythingLLM 中创建一个工作区,并将 LLM 提供商设置为 Ollama (http://localhost:11434),嵌入模型设置为 nomic-embed-text
  3. 03
    导入文档
    将 PDF 文件夹拖入工作区。工具将自动提取文本、分割并索引。
  4. 04
    自然语言查询
    提出跨文献的问题:“哪些评估方法出现得最频繁?”“哪些论文与假设 X 相矛盾?”

RAG相比简单摘要的主要优势在于:模型会引用其使用过的原文段落。您可以回溯到原始PDF文件进行核对,这在研究中至关重要。请始终要求模型明确说明每一条陈述出自哪个文档。

i
RAG不会读取‘全部’内容
与一种普遍的直觉相反,RAG 并不会让模型阅读论文全文:它只会检索与问题最接近的少数几个段落。问题表述不当,就会检索到错误的摘录。如果回答似乎偏离了问题,请重新表述问题。

#处理技术性很强的论文时的局限

在这一点上必须坦诚:面对数学、理论物理或高度形式化的机器学习论文,本地 LLM 很快就会显露出局限。了解这些盲点,可以避免在不该信任它的地方信任它。

公式
文本提取会把公式转换成平面文本:下标、上标和希腊字母会混在一起或丢失。模型随后会基于这些损坏的公式进行推理,并可能得出错误结论。
表格
一个表格一旦被提取为纯文本,就会变成一串数字,行与列的对应关系随之丢失,因此从表格中引用的数字可靠性较低。
图表
文本模型看不到图表。任何只出现在图中的结果,它都完全无法获取——它要么不提及,要么根据图注编造。
数学推理
理解数学证明的推理过程或验证推导,超出了本地 14B 模型能够可靠完成的范围。它只会换一种说法复述证明,并不会验证其正确性。

具体来说:用 LLM 处理论文的“叙述”部分——研究问题、动机、所宣称的贡献、局限性和研究定位。凡是公式、数字表格和图,都应保留人工审阅。对于方程密集的论文,能够读取页面图像而非提取文本的多模态模型效果更好,但它仍然只是补充,不能替代您自己的阅读。

!
切勿未经核实就引用
未经 PDF 原文核实,绝不要照抄模型生成的数字、公式或论断。LLM 的作用是提供方向并做初步梳理,而不是代替科学核查。

#故障排除

PDF 提取结果为空
这是一个无文本层的扫描文件。请先通过OCR处理(ocrmypdf entree.pdf sortie.pdf),再进行提取。
摘要忽略了文章的结尾
num_ctx 太小:文本已被截断。如果 VRAM 允许,请增大该值;否则请分段摘要,再对摘要进行综合。
RAG 答非所问
检索到了不相关的段落。请使用该领域的准确术语重新表述问题,或在建立索引时减小文本块的大小。
响应缓慢
在 CPU 上运行 9B 模型会很慢。请确认 Ollama 确实在使用 GPU,或改用 Qwen 3.5 4B(3.4 GB)来完成日常摘要任务。
数据与PDF不符
这是表格提取出错或出现幻觉的典型迹象。请降低温度,更重要的是,对照原始来源核实。

#深入了解

本指南基于网站上已详细说明的组件。如需深入了解安装或 RAG 的具体实现,请参考:

安装 Ollama:Windows、macOS 和 Linux
如果尚未配置本地模型服务,可从这里开始,在端口 11434 上提供本地模型服务。
使用 Ollama 实现本地 RAG,无需编写代码(Open WebUI、AnythingLLM)
搭建可查询您全部文献资料的 RAG 模块的参考指南,无需编写一行代码。
使用 LM Studio 进行本地 RAG:与您的文档对话
如果您更倾向于使用 LM Studio 而非 Ollama 加独立界面,那么这是一个一体化的替代方案。
这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。