aieng-abdullah/production-rag-assistant

研究論文から引用元を検証した回答を生成するRAGアシスタント。

完成アプリ要確認 · NOASSERTION企画・設計Python難易度
810 保存
5フォーク6Issue
デモ・公式サイトをひらくgroundedai-frontend.onrender.com

中辛 の解説

論文PDFを入力し、質問を実行すると、ページ番号付きの引用とともに根拠のある回答を得るアプリケーションです。PyMuPDFによるページ認識抽出、256文字チャンク(100文字重複)、sentence-transformers埋め込み、ChromaDBベクトルストア、BM25・ベクトル検索の相互ランク融合(RRF)、ms-marcoクロスエンコーダによる再ランク付けを組み合わせています。LLM層ではGroq llama-3.1-8b-instant(デフォルト無料)に加えて、Anthropic ClaudeまたはOpenAI GPT-4oへの再試行・指数バックオフ・フェイルオーバー機能を備えています。各文のPydantic引用検証により、不完全な引用を検出して拒否します。Langfuseによる詳細なトレース(141件の本番実績)から、クロスエンコーダ再ランク付けがp95で9.23秒の遅延を占める最大のボトルネックであることが判明しています。ローカル環境ですぐに実行可能で、Streamlit UIで複数のAPIキーを管理できます。

こんなリポジトリです

こんなときに便利です

  • 大学院生や研究者が複数のarXiv論文を検索し、ページ番号付き引用のある統合的な回答を得る
  • エンジニアが技術論文から実装の詳細を抽出し、根拠のあるコンテキストとともに理解する
  • 学生が論文の質問に対して引用可能な回答を受け取り、学術文献として参照できる

主な機能

文ごとのPydantic検証による強制引用(プロンプト指示ではなく仕様レベル)BM25とベクトル検索の相互ランク融合(RRF)とクロスエンコーダ再ランク付けGroq・Anthropic・OpenAIへの自動フェイルオーバー(再試行・指数バックオフ付き)

ほかとの違い

プロンプト指示ではなくPydantic検証で全文の引用を強制し、部分的な幻覚を完全に排除する点が、従来のRAGデモとは異なります。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • Python 3.12以上
  • Groq APIキー(最小要件)

すぐに始める

  1. リポジトリをクローンして仮想環境を作成
git clone https://github.com/aieng-abdullah/production-rag-assistant.git
cd production-rag-assistant
python3 -m venv venv
source venv/bin/activate
  1. 依存関係をインストール
pip install -r requirements.txt
  1. 環境変数ファイルをコピーしてGroq APIキーを設定
cp .env.example .env

.envを編集してGROQ_API_KEYを追加(最小要件)

  1. アプリを起動
streamlit run app.py
  1. (オプション)評価を実行
python3 eval/eval_runner.py
  1. (オプション)テストを実行
pytest tests/ -v -m "not slow" --cov=src --cov-report=term-missing --cov-fail-under=70

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try aieng-abdullah/production-rag-assistant

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

817日間の増加数を計算するための比較データが不足しています

確認日時

使いやすさ · まねしやすいか

まねしやすいサンプル評点 44/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2026 年に作成

「企画・設計」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/aieng-abdullah/production-rag-assistant.svg)](https://www.gitbap.com/r/aieng-abdullah/production-rag-assistant)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る