Justin

Command Palette

Search for a command to run...

返回作品典藏庫
已完成2026ai-data

IR / RAG Evaluation Lab

一個專業的資訊檢索與 RAG 評估工作台,展示 BM25、Dense、Hybrid、Rerank、RAG citation、LLM judge 與文本探勘分析。

IR / RAG Evaluation Lab 是一個 benchmark/evaluation lab,不是聊天機器人 UI。它支援 custom JSONL、BEIR/MS MARCO/OpenAlex ingestion、BM25 baseline、dense fallback、hybrid search、reranker interface、retrieval metrics、bad case analysis、RAG citation checker、local llama.cpp judge、query rewrite experiment、text mining network analysis,以及完整中英文 React dashboard。

已驗證 Demo 錄影 1

由 portfolio quality pass 從既有專案 demo 素材複製。

31 張截圖4 支 Demo 影片

媒體總覽

快速瀏覽這個專案的截圖與錄影展示。

專案連結與 Demo 狀態

專案概覽

IR / RAG Evaluation Lab 的核心不是「產生答案」,而是證明 retrieval 與 RAG 評估流程是否可靠。 使用者可以上傳 `documents.jsonl` 與 `queries.jsonl`,也可以使用內建 sample dataset。系統會把資料寫入 DuckDB dataset registry,檢查資料品質,建立 BM25/dense/hybrid/rerank 的 evaluation runs,並產生 Precision@K、Recall@K、MRR、MAP、nDCG@K、latency 與 zero-result rate。 前端是一個雙語 evaluation dashboard。它包含 Query Evaluator、Retrieval Comparison、Evaluation Analytics、RAG Citation Checker、Bad Case Viewer、LLM Evaluation、Text Mining 與 Experiment Runs。自動啟動的小幫手會引導面試官逐步跳到每個功能區,解釋每個數值與圖表代表什麼,而不是只展示漂亮圖表。 local llama.cpp 被用在 evaluation workflow:claim support、bad case root cause suggestion、query rewrite experiment、faithfulness judgment 與 analyst notes。UI 會清楚標示 LLM judge 是 assistive signal,不是 ground truth,並保留 latency、confidence、invalid JSON rate 與 run history。 我使用 Playwright 做完整 walkthrough 驗證,包含導覽小幫手、Pipeline Journey、query evaluation、analytics heatmap、RAG citation、LLM dashboard、text mining network 與中英文切換;截圖與錄影都已連到本頁。

我的角色

獨立開發者 / IR、RAG 與 Evaluation Workflow 架構師

問題背景

很多 RAG demo 只展示把 embedding 丟進 vector DB 後得到一段答案,卻無法證明 retrieval 是否真的找到正確 evidence,也無法解釋失敗 query、citation coverage、bad cases 或 LLM judge 的可靠性。這個專案的目標是做出一個可重現、可展示、可診斷的 IR/RAG evaluation lab。

解決方案

我使用 FastAPI + DuckDB 實作 dataset registry、BM25/dense/hybrid/rerank retrievers、experiment persistence、retrieval metrics、bad case root cause workflow、RAG claim-to-evidence evaluation、llama.cpp local judge history,以及 text mining pipeline。前端使用 React + TypeScript + Vite,提供自動啟動的導覽小幫手、Pipeline Journey、互動式 heatmap/scatter/network/Sankey/chart dashboard,並用 Playwright 產生完整截圖與錄影驗證。

目前成果

一個面試可直接展示的 evaluation platform:使用者能上傳 JSONL 或使用 sample dataset,跟著導覽小幫手逐步理解資料如何被清理、索引、檢索、評估、分析與報告化,並能檢查 llama.cpp judge 是否為真實連線。

作品亮點

  • BM25、Dense、Hybrid、Rerank 的可比較 retriever workflow,所有 search/evaluate run 都寫入 DuckDB。
  • Evaluation Analytics 包含 metric matrix、failure heatmap、rank movement、retriever battle、query diagnostics 與 deterministic insight summary。
  • RAG Citation Checker 將 answer 拆成 claims,對應 evidence/citation,並以 local llama.cpp 輔助判斷 supported、partially supported、unsupported 或 contradictory。
  • Text Mining 頁整合共現網路、collocation、association rules、Sankey flow、community detection 與 Gephi-like network workbench。
  • App 式導覽小幫手每次進站自動啟動,逐步跳到各頁指定區塊並搭配 spotlight 與 pipeline journey 解釋結果意義。

技術挑戰

  • 讓專案保持 benchmark/evaluation lab 定位,而不是退化成一般 ChatGPT UI。
  • 設計 fallback 與 real llama.cpp mode,讓 demo 離線可跑,但真實 LLM judge 也能被記錄與驗證。
  • 把 raw JSON payload 產品化成 cards、badges、confidence bars、history dashboard 與 reviewer workflow。
  • 用 Playwright 驗證整個導覽、每個主要頁面、長頁 scroll screenshots、錄影與雙語切換。

目標使用者

  • 作品集審閱者與面試官
  • 需要快速理解專案目的、技術棧與成熟度的技術讀者

技術亮點

  • 偵測到的主要技術線索:Python, FastAPI, DuckDB, React, Vite, TypeScript, BM25, RAG, llama.cpp, ECharts, Recharts, Playwright
  • 已有 README 作為後續補齊案例研究的依據
  • 已連接公開 GitHub repository,可從作品集追溯原始碼

系統架構

此專案目前由 portfolio catalog pipeline 依 README、Git metadata、package/build 設定與素材線索建立案例頁。正式架構說明仍需依實際 source code 補齊;目前可確認的技術線索包含:Python, FastAPI, DuckDB, React, Vite, TypeScript, BM25, RAG, llama.cpp, ECharts, Recharts, Playwright。

資料流程

目前尚未完成可公開的資料流程說明。若此專案含資料處理、AI pipeline 或後端 API,後續應補上 input、processing、storage、UI/output 的端到端流程。

專案結構

ir-rag-evaluation-lab/
  README.md              # project documentation, when available
  source files           # implementation reviewed by local audit
  package/build config   # detected capability signals

安裝與執行

This project does not expose a verified runnable web command yet. Review the README/source tree and add exact install, run, test, and build commands before interview use.
No verified build command was detected. Treat the current portfolio page as a case-study placeholder until build steps are reviewed.

後續改進

  • 補齊正式 README、截圖與 demo recording
  • 補上架構圖、資料流程與關鍵技術決策
  • 確認 build/test 狀態並更新 portfolio release report

面試說明重點

  • 先說明此專案目前的成熟度與可展示範圍
  • 聚焦在可驗證的技術棧、程式結構與已完成部分
  • 不要宣稱尚未部署、尚未錄影或尚未測試的能力已完成

後續規劃

  • 接入更大型的 BEIR/MS MARCO/OpenAlex benchmark corpus 與更多 qrels。
  • 加入更正式的 reranker/cross-encoder model adapter 與 Prompt Studio。
  • 擴充報表成可互動的 benchmark artifact,支援更多 stakeholder-friendly conclusions。

相關作品