このプロジェクトについて
PaperQA2は、科学文献やその他の文書タイプに対する高精度な検索拡張生成(RAG)を実現するオープンソースのPythonパッケージおよびCLIツールです。PDF、プレーンテキスト、Markdown、HTML、Microsoft Officeファイル(docx、xlsx、pptx)、ソースコードファイルを取り込み、特定のページや箇所を指し示す引用付きの根拠のある回答を生成します。
このシステムは3段階のエージェント型ワークフローに従います。(1) 論文検索:LLMがキーワードクエリを生成して候補論文を見つけ、ローカルの全文検索インデックスにチャンク化します。(2) 証拠収集:クエリを埋め込み、上位k個のチャンクをランク付けし、各チャンクを文脈に沿って要約し、LLMが再スコアリングして最も関連性の高い要約を選択します。(3) 回答生成:最良の要約をプロンプトに配置して回答を生成します。言語エージェントはこれらのツールを任意の順序で呼び出すことができ、クエリと回答の反復的な改善を可能にします。
主な機能には、Semantic Scholar、Crossref、Unpaywallからの自動メタデータ取得(引用数や撤回チェックを含む)、文書メタデータを考慮した埋め込み、LLMベースの再ランキングと文脈要約(RCS)、堅牢なカスタマイズインターフェースが含まれます。デフォルトのスタックはOpenAIの埋め込みとモデル、Numpyベクトルデータベースを使用しますが、PaperQA2はLiteLLMと統合して、Claude、Gemini、llama.cppを介したローカルホストモデルなど、事実上あらゆるLLMプロバイダーをサポートします。Sentence Transformersによるローカル埋め込みモデルもサポートされています。
CLIツール`pqa`はクイックスタートを提供します。論文のあるディレクトリに移動して`pqa ask 'What is PaperQA2?'`を実行すると、インデックス作成、検索、回答を一度に行えます。バンドルされた設定(high_quality、fast、wikicrow、contracrow、debug、tier1_limits)は、矛盾検出やWikipediaスタイルの記事作成など、さまざまなユースケース向けに事前調整された構成を提供します。レート制限はモデルごとに設定可能で、API階層の制限に対応します。
Pythonライブラリは同期APIと非同期APIの両方を提供します。`ask`関数は便利なラッパーを提供し、`agent_query`や`Docs`オブジェクトの直接操作により、文書の取り込みとクエリを細かく制御できます。`Docs`オブジェクトはファイル、URL、コードの追加をサポートし、証拠検索とクエリのメソッドを備えています。以前の回答はすべてインデックス化され、後で検索できるように保存されます。
最近のアップデート(2025年12月)では、表、図、非英語言語、数式のマルチモーダルサポート、新しいモデルベースのPDFリーダー(DoclingとNvidia nemotron-parse)、Microsoft Office文書の解析、メディアオブジェクトが要約LLMに渡されるマルチモーダル文脈要約、httpxを使用した簡素化されたHTTPスタックが追加されました。プロジェクトは2025年12月にセマンティックバージョニングからカレンダーバージョニングに移行しました。
PaperQA2はApache 2.0ライセンスで、Python 3.11以上が必要です。Semantic Scholar、Crossref、Unpaywall、Pydantic、tantivy、LiteLLM、pybtexなどのライブラリに依存しています。このプロジェクトはFuture Houseによって開発され、科学的な質問応答、要約、矛盾検出タスクにおける人間を超えるパフォーマンスを示す査読付き研究で発表されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.