Zotero とローカル LLM を組み合わせて、自分のデータを要約・検索する bibliographie
Zotero は参考文献と PDF を一元管理し、ローカル LLM はそれらを読み取って要約できます。両者を連携させれば、未公開の研究成果をクラウドに一切送信することなく、論文の要約、複数の論文の比較、研究動向のレビュー作成ができる研究アシスタントを構築できます。このガイドでは、Ollama と RAG のコンポーネントを使い、Zotero+AI の処理の流れを最初から最後まで構築する方法を紹介します。
#ローカルAIをZoteroに接続する理由
研究者にとって、Zoteroに数百の論文がすぐに蓄積され、多くはまだ発表されておらず、 embargo または機密性の規定に従っています。評価中の論文のPDFをクラウド上のチャットボットに貼り付けることは、そのコンテンツを第三者に委ねることを意味します。たとえモデルの訓練に利用される場合もあります。ローカルでLLMを実行することで、この問題の根本を解決できます。ファイルはあなたのディスク上に残り、推論はあなたのマシン上で行われ、何の情報も外部に漏れません。
Zotero を研究用 AI として使う利点は、プライバシーだけではありません。ライブラリはすでに整理されています。プロジェクトごとのコレクション、タグ、整備されたメタデータ、注釈付き PDF が揃っており、LLM がすぐに利用できる資料基盤になっています。論文を再ダウンロードして整理し直す代わりに、Zotero がすでに整理した資料にモデルを直接接続します。
- 要約
- 20 ページの論文の目的、手法、結果を 30 秒で、ご自身の言語で把握できます。
- 問い合わせる
- 質問を投げ、単一のPDFではなく、コレクション全体からモデルが答えを探すようにします。
- 比較する
- 複数の論文の手法や結果を比較し、研究の現状を大まかに整理する。
- プライバシー
- embargoされた文書や、漏洩規約を有する協力者のデータを処理する場合。
#ZoteroとLLMがどのようにやり取りするか
あなたのドキュメント、あなたの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。
#ステップ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に渡します。
#ステップ2:科学論文を要約
最もよくあるケースは、Zoteroで論文を開き、全文を読む価値があるか判断する前に要約を確認したいというものです。PDFからテキストを抽出し、それをOllamaに送ります。pymupdf(fitz)ライブラリを使うと、きれいに、かつ高速に抽出できます。
ポート11434でOllamaのREST APIを呼び出します。このAPIは、システムメッセージ(役割)とコンテンツ(論文)を分けて扱います。ここで重要な設定は2つです。余計な話を作り足さないように温度を低く設定すること(0.2)と、論文全体を切り詰めずに取り込めるよう、num_ctxを十分に大きくすることです。
#信頼できる要約プロンプト
要約の質は、モデルよりもプロンプトに左右されます。曖昧なプロンプトではありきたりな段落しか得られませんが、構造化されたプロンプトなら再利用できる読書ノートが得られます。コツは、学術論文の構成に沿ったセクション形式を指定し、本文にない内容をモデルが書かないようにすることです。
- 指定されたフォーマット
- セクションの見出しによって、モデルは冗長に説明するのではなく、情報を分類するようになります。どの記事でも同じ枠組みで整理されるため、一目で比較できます。
- ハルシネーション防止ルール
- 「書かれている内容だけを取り上げてください」という指示と「記載なし」という表記は、LLMが結果や参考文献を捏造するリスクを減らします。これは科学分野での利用における最大の危険です。
- 先行研究の概観セクション
- 位置づけの説明を明示的に求めることで、要約を文献レビューにそのまま再利用できる素材にできます。
#ステップ3:RAGで自分の文献全体に質問する
PDFを要約することは役立ちます。五十枚の論文を一度に質問することは、文献レビューの準備を根本的に変えるものです。ここからRAG(検索強化生成)に移ります。PDFを断片に分割し、埋め込みモデルでベクトルに変換し、LLMは各質問に対して関連する部分のみを読みます。
コードを書かずに済む最も簡単な方法は、AnythingLLMまたはOpen WebUIに、Zoteroからエクスポートしたフォルダ(または直接storage)を指定することです。これらのツールがインデックス作成とベクトルデータベースの管理を行うため、プロバイダーにOllama、埋め込みモデルにnomic-embed-textを選ぶだけで済みます。
- 01コレクションのエクスポートZoteroから、対象のコレクションをPDFとともに専用フォルダーへエクスポートしてください。例えば ~/recherche/etat-de-l-art です。
- 02ワークスペースを作成するAnythingLLM でワークスペースを作成し、LLM プロバイダーを Ollama(http://localhost:11434)に、埋め込みモデルを nomic-embed-text に設定してください。
- 03ドキュメントのインポートPDFフォルダをワークスペースにドラッグしてください。このツールは自動的にテキストを抽出し、分割し、インデックス化します。
- 04自然言語で質問横断的な質問をしてください。「どの評価手法が最も頻繁に登場しますか?」「仮説Xと矛盾する論文はどれですか?」
単純な要約と比べたRAGの大きな利点は、モデルが使用した箇所を引用することです。元のPDFに戻って確認できるため、研究には欠かせません。各主張がどの文書に由来するのかを示すよう、毎回モデルに求めてください。
#専門性の高い論文を扱う際の限界
この点については率直に認める必要があります。数学、理論物理学、あるいは非常に形式的な機械学習の論文では、ローカル LLM はすぐに限界を露呈します。こうした不得意な部分を理解しておけば、信頼すべきでない場面で頼ってしまうことを避けられます。
- 数式
- テキスト抽出では数式の構造が失われ、下付き文字、上付き文字、ギリシャ文字が混ざったり消えたりします。その結果、モデルは壊れた数式をもとに推論し、誤った結論を導く可能性があります。
- テーブル
- 表をプレーンテキストとして抽出すると、数値が入り乱れた状態になります。行と列の対応関係が失われるため、表から引用された数値の信頼性は低くなります。
- 図
- テキストモデルはグラフを見ることができません。図の中にしか示されていない結果は、まったく把握できません。その結果に言及しないか、図の説明文をもとに内容を作り上げてしまいます。
- 数学的推論
- 数学の証明を論理的に追ったり、導出を検証したりすることは、14Bのローカルモデルが信頼できる形で行える範囲を超えています。モデルは証明を言い換えるだけで、その正しさを検証しているわけではありません。
具体的には、論文の「文章で説明される部分」、つまり研究上の問い、動機、主張されている貢献、限界、位置づけを把握するために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を使いたい場合の、オールインワンの代替案です。
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。