中級 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 がすでに整理した資料にモデルを直接接続します。

要約
20 ページの論文の目的、手法、結果を 30 秒で、ご自身の言語で把握できます。
問い合わせる
質問を投げ、単一のPDFではなく、コレクション全体からモデルが答えを探すようにします。
比較する
複数の論文の手法や結果を比較し、研究の現状を大まかに整理する。
プライバシー
embargoされた文書や、漏洩規約を有する協力者のデータを処理する場合。
i
ローカルでは代替できないもの
ローカルLLMは読む時間を節約できますが、厳密な検討の代わりにはなりません。生成するのは読み直して確認すべき要約の下書きであり、そのまま引用できる確かな事実ではありません。限界についてのセクションでは、今なおどのような点で誤るのかを説明しています。

#ZoteroとLLMがどのようにやり取りするか

ローカルRAGキット

あなたのドキュメント、あなたのAI:あなたのPDF、メモ、メールを扱う信頼性の高いローカルRAG。何もクラウドに送信しません。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 30日間返金対応

Zoteroには、言語モデルと直接「対話」する機能は標準ではありません。両者をつなぐのはファイルです。Zoteroは各PDFをディスクに保存し、そのPDFをLLMに読ませます。主な方法は2つあり、両方を組み合わせて使うこともよくあります。

要望に応じた要約
特定のPDFからテキストを抽出し、要約の指示とともにOllamaに送信します。シンプルで速く、一度に1つの記事に最適です。
文献ライブラリを対象としたRAG
PDF が入ったフォルダ全体をベクトルデータベースにインデックス化し、その後、自然言語で質問します。モデルは関連する箇所だけを読むため、数十本の論文を対象にできます。

どちらの場合も、中心となるのは、すべてのPDFが保存されているZoteroのストレージフォルダです。Zotero 7はローカルAPI(ポート23119)も提供しており、プログラムからアイテムを一覧取得できます。ただし、まず始めるには、ファイルを直接指定する方法が最も堅牢で、仕組みもわかりやすいです。

#前提条件

Zotero 7
文献情報にPDFが添付されていること(メタデータだけでは不十分です)。内蔵PDFリーダーは必須ではありませんが、ファイルはローカルに保存されている必要があります。
Ollama
モデルを提供するデーモン。デフォルトのアドレスはhttp://localhost:11434です。まだインストールしていない場合は、インストールガイドを参照する。
要約用モデル
フランス語の品質を重視するなら、Qwen 3.5 9B(Q4_K_Mで約6.6 GBのVRAM、256kのコンテキストと画像認識に対応)またはMistral Small 24B。小規模な構成ではQwen 3.5 4B(3.4 GB)で十分です。
埋め込みモデル
RAGに関しては、nomic-embed-textまたはmxbai-embed-largeを使用できます。これらはollama pullで取得可能です。軽量であり、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では、VRAMの目安は7Bモデルで約5GB、14Bモデルで約9GB、32Bモデルで約19GBです。RTX 3060 12GBなら14Bモデルを快適に動かせます。ユニファイドメモリを搭載したMacでは、32Bモデルも選択肢に入ります。

#ステップ1:Zoteroに保存されたPDFを検索する

Zoteroは、storageディレクトリ内にある、8文字のキーを名前とするサブフォルダに各添付ファイルを保存します。このフォルダ構成を詳しく理解する必要はありません。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を呼び出します。このAPIは、システムメッセージ(役割)とコンテンツ(論文)を分けて扱います。ここで重要な設定は2つです。余計な話を作り足さないように温度を低く設定すること(0.2)と、論文全体を切り詰めずに取り込めるよう、num_ctxを十分に大きくすることです。

!
コンテキストウィンドウが超えられない上限です
20ページの論文は、多くの場合、12,000語から18,000語を表します。num_ctxが小さすぎると、モデルはPDFの冒頭しか見えず、末尾を盲目的に要約してしまいます。モデルのコンテキストを確認し、VRAMが許す場合は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が結果や参考文献を捏造するリスクを減らします。これは科学分野での利用における最大の危険です。
先行研究の概観セクション
位置づけの説明を明示的に求めることで、要約を文献レビューにそのまま再利用できる素材にできます。
→
数値は必ず元のソースを確認してください
temperatureを低く設定し、厳格な指示を与えても、LLMがある行の数値を別の行のものとして扱ってしまうことがあります。要約中の数値はすべて、引用する前にPDFで裏付けを確認すべき手がかりとして扱ってください。

#ステップ3:RAGで自分の文献全体に質問する

PDFを要約することは役立ちます。五十枚の論文を一度に質問することは、文献レビューの準備を根本的に変えるものです。ここからRAG(検索強化生成)に移ります。PDFを断片に分割し、埋め込みモデルでベクトルに変換し、LLMは各質問に対して関連する部分のみを読みます。

コードを書かずに済む最も簡単な方法は、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:ドキュメントと対話する
Ollamaと別のインターフェースを組み合わせるよりもLM Studioを使いたい場合の、オールインワンの代替案です。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。