Skip to content

feat: Add OpenRAG Workbench evaluation framework#1213

Open
matanor wants to merge 34 commits intolangflow-ai:mainfrom
matanor:openrag_workbench
Open

feat: Add OpenRAG Workbench evaluation framework#1213
matanor wants to merge 34 commits intolangflow-ai:mainfrom
matanor:openrag_workbench

Conversation

@matanor
Copy link
Collaborator

@matanor matanor commented Mar 22, 2026

Summary

This PR adds the OpenRAG Workbench evaluation framework to the repository, providing a comprehensive solution for evaluating RAG (Retrieval-Augmented Generation) systems using the OpenRAG SDK.

Prerequisites

Requires the changes to the SDK from #1086

Changes Made

New Components Added

  • Evaluation Framework (evaluation/openrag_workbench/)
    • Complete evaluation pipeline for RAG systems
    • Integration with OpenRAG SDK for ingestion and inference
    • Rich table-based board for result visualization

Key Files

  • Pipeline Implementations

    • pipelines/ingest.py - Document ingestion pipeline (265 lines)
    • pipelines/inference.py - Inference pipeline for RAG queries (254 lines)
  • Evaluation Entry Point

    • evaluate.py - Main evaluation script
  • Configuration & Utilities

    • boards/table_rich/board.yaml - Board configuration for results display
    • logging_config.py - Logging configuration
    • utils.py - Utility functions

Testing

  • Comprehensive Test Suite
    • tests/pipelines/test_ingest.py - Ingestion pipeline tests (158 lines)
    • tests/pipelines/test_inference.py - Inference pipeline tests (232 lines)
    • tests/conftest.py - Test fixtures and configuration

Project Configuration

  • pyproject.toml - Project dependencies and configuration
  • uv.lock - Locked dependencies (3121 lines)
  • .env.example - Environment variable template
  • .gitignore - Git ignore patterns
  • README.md - Documentation

Statistics

  • 19 files changed
  • 4,634 additions
  • Complete evaluation framework with pipelines, tests, and configuration

Additional Notes

This implementation provides a production-ready evaluation framework that integrates seamlessly with the OpenRAG SDK, enabling comprehensive testing and benchmarking of RAG systems.

matanor and others added 26 commits March 9, 2026 12:30
- Add FilenameExistsResponse model to SDK
- Add filename_exists() async method to DocumentsClient
- Add GET /v1/documents/check-filename endpoint with API key auth
- Export FilenameExistsResponse in SDK __init__.py

This enables SDK users to check if a file exists in the knowledge base
before ingestion, avoiding duplicate uploads.
- Add inference and ingest pipelines
- Add create_boards script and utility modules (utils, logging_config)
- Add .env.example for configuration
- add pyproject.toml
- Add shared conftest.py with environment and logging fixtures
- Enhance inference test with explicit cache hit/miss validation
- Update pytest configuration with pythonpath and strict markers
- Add boards module with table_rich board configuration
- Rename create_boards.py to evaluate.py for clarity
- Enhance .gitignore with additional patterns
- Remove unused imports from pipelines
- Update utility functions
@github-actions github-actions bot added backend 🔷 Issues related to backend services (OpenSearch, Langflow, APIs) enhancement 🔵 New feature or request labels Mar 22, 2026
@matanor matanor marked this pull request as ready for review March 22, 2026 09:09
@github-actions github-actions bot removed the enhancement 🔵 New feature or request label Mar 22, 2026
@github-actions github-actions bot added the enhancement 🔵 New feature or request label Mar 22, 2026
@github-actions github-actions bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels Mar 22, 2026
define a single configuration with multiple options
update acreens to use metric names
@github-actions github-actions bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels Mar 22, 2026
@github-actions github-actions bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels Mar 23, 2026
@github-actions github-actions bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend 🔷 Issues related to backend services (OpenSearch, Langflow, APIs) enhancement 🔵 New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant