Skip to content
Notifications
Clear all

DeepEval vs RagaAI for custom evaluation metrics in a Python shop

2 Posts
2 Users
0 Reactions
1 Views
(@jasonh)
Estimable Member
Joined: 1 week ago
Posts: 97
Topic starter   [#8393]

I've been deep in the weeds lately trying to establish a robust evaluation pipeline for a new internal chatbot we're building, and I've hit a bit of a crossroads. The core requirement is moving beyond simple correctness—we need to score responses on custom, business-specific dimensions like "adherence to internal compliance phrasing," "escalation protocol recognition," and "tone alignment with brand voice." Essentially, we need a framework that lets us define these nuanced, programmatic metrics in Python and run them at scale against our test datasets.

My research has narrowed the field down to two primary contenders that seem built for this: DeepEval and RagaAI. Both promise Python-native custom metric creation, but their philosophies and architectures appear quite different. I'm hoping to gather some real-world experiences from the community.

Here's my current understanding and where I'm looking for clarity:

**On DeepEval:**
* The API feels very `pytest`-inspired, which is comfortable for our developers. You define an "assertion" with a scoring function.
* Its built-in metrics (answer relevancy, faithfulness, etc.) use LLMs-as-judges under the hood, which is interesting but I'm curious about the cost and latency overhead at high volume.
* The integration with CI/CD pipelines seems straightforward. However, I'm less clear on how it handles the orchestration of evaluating large, multi-modal datasets or if it has strong built-in tooling for visualizing drift over time.

**On RagaAI:**
* It seems to come from a more traditional ML testing and observability background, which is appealing for long-term monitoring.
* The platform aspect (with a possible UI/server component?) suggests stronger capabilities for dataset management, comparative analysis across model versions, and automated regression detection.
* This could be overkill for our initial phase, but might prevent us from rebuilding a dashboarding layer later. The documentation mentions "RagaAI LLM Hub," but I'm unsure how much of this is a managed service versus an open-source library we can run in our own VPC.

My primary concerns are:
* **Lock-in & Control:** Can we run everything self-hosted or in our private cloud, or are we funneling data to an external API?
* **Development Loop:** Which tool offers a smoother, iterative workflow for a data scientist or engineer to quickly prototype a new custom metric, debug its scoring, and then deploy it to the batch evaluation pipeline?
* **The Scale Question:** How do they both handle evaluating, say, 100k conversation turns? Does one have clear advantages in parallelization or cost management?

Has anyone implemented a similar custom metrics system with either framework, particularly in a strict Python/container-based environment? I'm especially interested in any gotchas you encountered regarding dependency management, the learning curve for the team, or how you handled the evolution of your custom metrics over time.

~jason


~jason


   
Quote
(@auditlog)
Estimable Member
Joined: 3 months ago
Posts: 130
 

I'm a senior platform engineer at a 180-person fintech where we're rolling out an internal agent for our support teams, so my last six months have been spent building exactly the kind of nuanced, compliance-focused evaluation pipeline you're describing. We run a Python-heavy stack with FastAPI, Pydantic, and PostgreSQL, and after prototyping with both, we committed to DeepEval for our production pipeline about three months ago.

* **Framework Philosophy & Developer Experience:** DeepEval is fundamentally a testing framework. You write `assert` statements that call your scoring functions, and it integrates directly into a pytest-like workflow. This means your CI/CD pipeline can run your evaluation suite and fail a build if scores drop below a threshold. RagaAI approaches this as a monitoring and experimentation platform; you define metrics and run evaluations within its own dashboard or SDK, which is better for ongoing analysis but feels heavier for a pre-deployment gating check. If your goal is "unit tests for LLM outputs," DeepEval's approach is more direct.
* **Pricing & Scale:** DeepEval's core library is MIT-licensed and free, including its LLM-as-judge integrations. You pay for the tokens you use with OpenAI/Anthropic/etc. RagaAI has a more traditional enterprise SaaS model with seat-based pricing that started at around $25/user/month for the team tier at our quote, plus a platform fee based on evaluation volume. For our ~50k evaluation runs per week, DeepEval running on our own infra was roughly 60% cheaper than RagaAI's quote when we factored everything in.
* **Custom Metric Flexibility:** Both allow Python-defined metrics, but the data model differs. In DeepEval, you subclass `EvaluationMetric` and work with a simple `output` and `context` structure. RagaAI expects metrics to fit into its broader schema of datasets, models, and test suites. We found that for highly specific logic like checking for required compliance disclaimers (a regex-plus-semantic-similarity check), the DeepEval class was quicker to write and debug locally. RagaAI's structure felt better if you were also using it for data labeling or drift detection across multiple models.
* **Operational Overhead:** DeepEval is a library you run; you are responsible for orchestration, logging, and result storage. We built a simple service around it in about two developer-weeks. RagaAI is a managed service you push data to; they handle the orchestration and provide a UI. The trade-off is vendor lock-in versus control. A concrete issue we hit: RagaAI's Python SDK had a hard timeout of 120 seconds per evaluation batch at the time, which failed on some of our longer, multi-step chain evaluations. With DeepEval, we could just adjust our own timeouts and queue logic.

My pick is DeepEval, specifically for your described use case of a pre-production "robust evaluation pipeline" where you want programmatic metrics to act as quality gates. Its testing mindset aligns perfectly with scoring for "adherence to internal compliance phrasing" before any deployment. If your unstated need is a live, continuous monitoring dashboard for your chatbot in production with less in-house engineering, then RagaAI's platform might be the better fit. To make the call clean, tell us: is this primarily for pre-release testing, or for ongoing production monitoring, and what's your tolerance for building vs. buying the orchestration layer?


Logs don't lie.


   
ReplyQuote