paper-dl — PaSa 検索結果から arXiv PDF を一括取得するツール
概要
paper-dl は、PaSa(LLM を用いた論文検索ツール)が生成する検索結果やランキングを起点に、該当する arXiv 論文の PDF を自動でダウンロードしてローカルへ保存するための Python 製ユーティリティです。目的は、PaSa による探索結果をそのままローカルの AI 研究ワークフロー(要約、埋め込みベクトル作成、ナレッジベース化など)へ取り込めるようにすること。軽量で導入が容易なため、研究者やエンジニアが PaSa の出力を手で拾い集める手間を削減し、スムーズなデータ収集を実現します。
リポジトリの統計情報
- スター数: 56
- フォーク数: 8
- ウォッチャー数: 56
- コミット数: 2
- ファイル数: 10
- メインの言語: Python
主な特徴
- PaSa の検索結果(arXiv リンクや ID)を入力として一括で PDF を取得
- ローカル保存のためのファイル命名規則とメタデータ保存をサポート
- 並列ダウンロードやエラーハンドリングにより大規模取得にも対応しやすい構成
- 軽量で導入しやすく、ローカル AI ワークフロー(要約・埋め込みなど)への前処理として最適
技術的なポイント
paper-dl は Python ベースで、PaSa が返す検索結果を「最後の一歩」で確実にローカルに落とす役割に特化しています。基本的な流れは PaSa の出力(通常は arXiv の URL や arXiv ID が含まれる JSON/テキスト)を受け取り、arXiv ID を抽出して arXiv の標準的な PDF URL(例: https://arxiv.org/pdf/{id}.pdf)を組み立ててダウンロードする、という単純かつ堅牢な実装方針です。
並列処理や再試行(retry)といった実運用上必要な機能を備えることで、大量の論文を扱うケースでも効率よくダウンロードできます。ファイル保存時には ID・著者名・タイトルの断片などを用いた一意の命名規則を使い、メタデータを別ファイル(JSON 等)で保存することで後続の処理(PDF 解析、テキスト抽出、埋め込み生成)を容易にしています。また、ネットワーク障害やサーバ制限に対しては適切なスリープ挿入やレート制限、そして失敗時のログ出力により再実行がしやすく設計されています。
プラットフォームや依存関係は最小限に抑えられており、既存の PaSa ワークフローに追加する際の摩擦が少ない点も魅力です。研究用途で多用される「ローカルでの AI 処理」に直結するため、ダウンロード結果をそのままベクトル化ツールや要約パイプラインに渡せる点が実運用での利点になります。なお、arXiv の利用規約やロボット対策を尊重する実装(アクセス頻度の制御や利用ポリシーの確認)を行うことが前提です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- LICENSE: file
- README.md: file
- README.zh-CN.md: file
- assets: dir
…他 5 ファイル
まとめ
PaSa とローカル AI ワークフローをつなぐ実用的な「最後の一マイル」ツール。
リポジトリ情報:
- 名前: paper-dl
- 説明: Download arxiv PDFs from PaSa search results for local AI-powered literature analysis.
- スター数: 56
- 言語: Python
- URL: https://github.com/RuizeLyu/paper-dl
- オーナー: RuizeLyu
- アバター: https://avatars.githubusercontent.com/u/87013461?v=4
paper-dl
The missing last mile between PaSa and your local AI research workflow.
Background
PaSa (ByteDance, ACL 2025) is an LLM-powered academic paper search agent. Given a research question, PaSa autonomously:
- Generates search queries
- Crawls arxiv and expands citation networks
- Scores each paper for relevance using a fine-tuned selector model
- Returns a ranked list of result…
(README の続きを参照して、PaSa と組み合わせたワークフロー構築を検討してください。)