Skip to content

A-1ro/rag-eval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAG評価ダッシュボード

RAGアプリの回答品質を可視化・改善するための評価プラットフォーム。 既存のRAGに3行追加するだけで計測が始まるSDKと、結果を確認するダッシュボードUIを提供します。

コンセプト: Langfuse + Ragasの良いとこ取り・日本語対応


クイックスタート

pip install rageval-sdk

https://pypi.org/project/rageval-sdk/

from rag_eval import track  # 同期版
# from rag_eval import atrack  # 非同期版(async/await環境)

answer = your_rag.query(question)

track(
    question=question,
    answer=answer,
    chunks=[{"content": c.text, "source": c.source} for c in chunks],
    api_key="rag_eval_xxxx",
    latency_ms=320,  # 任意: RAGの応答時間(ms)
)

機能

  • 自動評価スコア — Groq + Llama 3.3 70B で Relevance / Faithfulness / Completeness を自動採点
  • スコア時系列グラフ — チャンク設計変更前後の精度変化を可視化
  • フィードバック収集 — 👍 / 👎 でエンドユーザーの評価を記録
  • SaaS & セルフホスト対応 — データを外に出せない環境は Docker Compose で完結
  • フレームワーク非依存 — LangChain / LlamaIndex / 自作RAG、どれでも動く

アーキテクチャ

RAGアプリ(既存コード)
  │  pip install rag-eval → from rag_eval import track
  ▼
[SDK]  httpx で非同期送信(失敗してもRAG本体を止めない)
  │
  ▼
[Collector API]  FastAPI on Vercel
  ├─ POST /api/track    ← ログ受信・DB保存
  ├─ POST /api/feedback ← フィードバック記録
  ├─ GET  /api/stats    ← ダッシュボード向けデータ
  └─ POST /api/keys     ← APIキー発行
  │
  ▼  BackgroundTask(Vercel 10秒タイムアウト対策)
[Groq + Llama 3.3 70B]  自動評価スコア算出
  │
  ▼
[DB]  Supabase PostgreSQL(SaaS版) / PostgreSQL直接(セルフホスト版)
      テーブル: evaluations / feedbacks / api_keys
  │
  ▼
[Dashboard UI]  Next.js on Vercel
  ├─ Overview    — 総クエリ数・平均スコア・スコア推移グラフ
  ├─ Evaluations — 質問・回答・スコア一覧
  └─ Settings    — APIキー管理

技術スタック

役割 技術
SDK Python / httpx
Collector API FastAPI / Supabase / Groq
Dashboard UI Next.js / TypeScript / Recharts
DB Supabase PostgreSQL(SaaS)/ PostgreSQL(セルフホスト)
ホスト Vercel Hobby
セルフホスト Docker Compose

月額コスト(SaaS運営側): $0〜5


セットアップ

SaaS版(Vercelにデプロイ)

1. Supabaseでテーブル作成

Supabase でプロジェクトを作成し、SQL Editorで実行:

-- api/migrations/001_init.sql の内容を貼り付け

2. Collector APIをVercelにデプロイ

cd api
vercel --prod

Vercelの環境変数に設定:

  • SUPABASE_URL
  • SUPABASE_SERVICE_ROLE_KEY
  • GROQ_API_KEY

3. DashboardをVercelにデプロイ

cd dashboard
vercel --prod

Vercelの環境変数に設定:

  • NEXT_PUBLIC_API_URL — Collector APIのURL

4. APIキーを発行

curl -X POST https://your-api.vercel.app/api/keys \
  -H "Content-Type: application/json" \
  -d '{"name": "本番環境"}'

セルフホスト版

git clone https://github.com/A-1ro/rag-eval
cd rag-eval

# 環境変数を設定
cp api/.env.example api/.env
# GROQ_API_KEY を .env に記入

docker compose up

注意: docker compose にはAPIとPostgreSQLのみ含まれます。ダッシュボードUIはローカルで別途 cd dashboard && npm run dev で起動してください(NEXT_PUBLIC_API_URL=http://localhost:8000 を設定)。


競合との比較

サービス RAGメトリクス内蔵 セルフホスト 日本語UI 無料枠
RAG評価ダッシュボード
LangSmith Enterprise限定 制限あり
Langfuse
Ragas ✅(UIなし)

ライセンス

MIT

About

RAGアプリの回答品質を可視化・改善するための評価プラットフォーム

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors