ragflow/api/apps
hsparks-codes 237a66913b
Feat: RAG evaluation (#11674)
### What problem does this PR solve?

Feature: This PR implements a comprehensive RAG evaluation framework to
address issue #11656.

**Problem**: Developers using RAGFlow lack systematic ways to measure
RAG accuracy and quality. They cannot objectively answer:
1. Are RAG results truly accurate?
2. How should configurations be adjusted to improve quality?
3. How to maintain and improve RAG performance over time?

**Solution**: This PR adds a complete evaluation system with:
- **Dataset & test case management** - Create ground truth datasets with
questions and expected answers
- **Automated evaluation** - Run RAG pipeline on test cases and compute
metrics
- **Comprehensive metrics** - Precision, recall, F1 score, MRR, hit rate
for retrieval quality
- **Smart recommendations** - Analyze results and suggest specific
configuration improvements (e.g., "increase top_k", "enable reranking")
- **20+ REST API endpoints** - Full CRUD operations for datasets, test
cases, and evaluation runs

**Impact**: Enables developers to objectively measure RAG quality,
identify issues, and systematically improve their RAG systems through
data-driven configuration tuning.

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
2025-12-03 17:00:58 +08:00
..
auth Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
sdk Refa: make RAGFlow more asynchronous 2 (#11689) 2025-12-03 14:19:53 +08:00
__init__.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
api_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
canvas_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
chunk_app.py Refa: make RAGFlow more asynchronous 2 (#11689) 2025-12-03 14:19:53 +08:00
connector_app.py Refa: make RAGFlow more asynchronous 2 (#11689) 2025-12-03 14:19:53 +08:00
conversation_app.py Refa: make RAGFlow more asynchronous 2 (#11689) 2025-12-03 14:19:53 +08:00
dialog_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
document_app.py Refa: make RAGFlow more asynchronous 2 (#11689) 2025-12-03 14:19:53 +08:00
evaluation_app.py Feat: RAG evaluation (#11674) 2025-12-03 17:00:58 +08:00
file2document_app.py Fix: file manager KB link issue. (#11648) 2025-12-02 12:14:27 +08:00
file_app.py Refa: make RAGFlow more asynchronous 2 (#11689) 2025-12-03 14:19:53 +08:00
kb_app.py Refa: make RAGFlow more asynchronous 2 (#11689) 2025-12-03 14:19:53 +08:00
langfuse_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
llm_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
mcp_server_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
plugin_app.py Feat: Alter flask to Quart for async API serving. (#11275) 2025-11-18 17:05:16 +08:00
search_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
system_app.py Feat: Alter flask to Quart for async API serving. (#11275) 2025-11-18 17:05:16 +08:00
tenant_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00
user_app.py Refa: make RAGFlow more asynchronous (#11601) 2025-12-01 14:24:06 +08:00