PDF、Office文書、HTMLなどを構造化データに変換し、生成AIのパイプラインで活用できるオープンソースのドキュメントパーサー。
Future-House/paper-qa
科学論文などの文書を対象に質問へ回答し、本文中に引用を付けて返すエージェント型RAGツール。
- スター
- 9,422
- フォーク
- 944
- 未解決の Issue
- 155
- 最終コミット
- 7 日前
これは何?
PaperQA2は、PDF、テキストファイル、Microsoft Office文書、ソースコードを対象にした検索拡張生成(RAG)用のPythonパッケージで、特に科学文献に重点を置いています。ローカルの文書フォルダを検索して関連する箇所を集め、要約して再ランキングしたうえで、元の論文を指す本文中の引用付きで回答を生成します。
Semantic Scholar、Crossref、Unpaywallなどのプロバイダーから、被引用数、掲載誌情報、撤回状況の確認といった論文メタデータを取得し、検索結果を補強できます。インデックス作成、全文検索、設定の保存に対応したコマンドラインツールpqaから利用できるほか、Pythonの同期・非同期APIからも利用できます。
モデルへのアクセスにはLiteLLMを使うため、OpenAI、Anthropic、Geminiに加え、llama.cpp、llamafile、Ollamaなどでローカル実行するモデルも利用できます。埋め込みにはdense、sparse、hybridを使え、Sentence TransformersのローカルモデルやQdrantなどの外部ベクトルストアにも対応しています。
主な機能
- 01ローカルのPDF、テキスト、Office文書、コードを対象に質問へ回答し、本文中に引用を付けます。
- 02言語モデルが反復的に検索して根拠を集め、回答するエージェント型ワークフローです。
- 03メタデータプロバイダーから被引用数、掲載誌の評価、撤回状況の確認などを取得して論文情報を補強します。
- 04インデックス作成、検索、質問に使えるコマンドラインツールpqaと、Pythonの非同期APIを提供します。
- 05ローカル実行モデルを含め、LiteLLM互換のあらゆるモデルで動作します。
ユースケース
- 研究論文のフォルダを検索し、特定の科学的な問いに対する根拠を探す。
- 文献コレクション全体から、矛盾点や裏付けとなる根拠を見つける。
- ローカル文書をもとに、引用付きで検索できるナレッジベースを構築する。
クイックスタート
- 1
PyPIからパッケージをインストールします
pip install paper-qa - 2
論文を保存するフォルダーを作成します
mkdir my_papers - 3
フォルダーに移動し、pqa CLIで質問します(OPENAI_API_KEYなどのLLM APIキーが必要です)
cd my_papers && pqa ask 'What is PaperQA2?'
使う前に知っておきたいこと
- 動作にはLLM APIキー、またはローカルでホストされたオープンソースLLMサーバーが必要です。
- 100件以上の論文を大量にインデックス化する場合、公開APIのレート制限を避けるためにCrossrefとSemantic ScholarのAPIキーが必要になることがあります。
- バージョン5にはPython 3.11以降が必要です。また、古いPaperQAのpickle化されたDocsオブジェクトは再構築する必要があります。
トピック
よくある質問
- paper-qa とは?
- 科学論文などの文書を対象に質問へ回答し、本文中に引用を付けて返すエージェント型RAGツール。 PaperQA2は、PDF、テキストファイル、Microsoft Office文書、ソースコードを対象にした検索拡張生成(RAG)用のPythonパッケージで、特に科学文献に重点を置いています。ローカルの文書フォルダを検索して関連する箇所を集め、要約して再ランキングしたうえで、元の論文を指す本文中の引用付きで回答を生成します。
- paper-qa は無料で使えますか?ライセンスは?
- paper-qa は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- paper-qa は今もメンテナンスされていますか?
- 活発にメンテナンス中。paper-qa の最終コミットは 2026年10月13日 です。
- paper-qa は何に使えますか?
- 研究論文のフォルダを検索し、特定の科学的な問いに対する根拠を探す。 文献コレクション全体から、矛盾点や裏付けとなる根拠を見つける。 ローカル文書をもとに、引用付きで検索できるナレッジベースを構築する。
- paper-qa のインストール方法は?
- PyPIからパッケージをインストールします: pip install paper-qa 論文を保存するフォルダーを作成します: mkdir my_papers フォルダーに移動し、pqa CLIで質問します(OPENAI_API_KEYなどのLLM APIキーが必要です): cd my_papers && pqa ask 'What is PaperQA2?'
- paper-qa はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Future-House/paper-qa
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
AIアプリ向けのオープンソース埋め込みデータベース。文書とベクトルを保存し、セマンティック検索、ハイブリッド検索、全文検索を実現します。
生の文書を相互リンク付きのLLM管理Markdown Wikiに変換するCLI・Webワークベンチ。長いファイルにはPageIndexのツリー検索を利用します。
LLMエージェントの会話や実行内容を、PythonおよびTypeScriptアプリ向けの永続的で構造化されたメモリに変換する、エージェントネイティブなメモリ基盤です。
AIエージェント向けのローカルファーストなMarkdownネイティブの長期記憶レイヤー。記憶を編集可能なファイルとして保存し、SQLiteとLanceDBでインデックス化します。
リモートおよびローカルにインストールした大規模言語モデルにプロンプトやチャットを実行できる、CLIツール兼Pythonライブラリ。