Skip to main content

DeepEvalClient

A lightweight Python client for interacting with the Evaluation API. It provides convenient wrappers for text and schema evaluation endpoints, with support for background jobs and probabilistic execution.


Features

  • 🔹 Text Evaluation – Run evaluations on plain text inputs.
  • 🔹 Schema Evaluation – Evaluate structured inputs against schema-based metrics.
  • 🔹 Background Jobs – Submit jobs asynchronously and process later.
  • 🔹 Probabilistic Execution – Run evaluations with a configurable chance (e.g., A/B testing scenarios).
  • 🔹 Robust Error Handling – Handles network errors and invalid JSON gracefully.
  • 🔹 Configurable – Configure via constructor args, environment variables, or external settings module.

Installation

pip install rakam-eval-sdk

Usage

  1. Basic Setup
from deepeval.client import DeepEvalClient
from deepeval.schema import TextInputItem, MetricConfig

client = DeepEvalClient(
    base_url="http://localhost:8080",
    api_token="your-api-key"
)
  1. Text Evaluation
    client.maybe_text_eval_background(
                component="ocr",
                data=[
                    TextInputItem(

                        id="runtime evaluation", # identifiar (that can be unique). use same id in case you want to follow performance over time
                        input="...", # input given to ai component
                        output="...", # output of the ai component
                        # optional args/ condtional based on metrics passed
                        expected_output=["..."],
                        retrieval_context=[
                            ["..."]
                        ]

                    )
                ],
                metrics=[
                    ToxicityConfig(
                        # model="gpt-4.1",
                        threshold=0.2,
                        include_reason=False
                    ),
                    CorrectnessConfig(
                        steps=[
                            "You are evaluating text extracted from resumes and job descriptions using OCR.",
                            "1. Verify that the extracted text is coherent and free of major corruption (e.g., broken words, random characters).",
                            "2. Check whether key resume/job-related fields are preserved correctly (e.g., name, job title, skills, education, experience, company name, job requirements).",
                            "3. Ensure that important details are not missing or replaced with irrelevant content.",
                            "4. Ignore minor formatting issues (line breaks, spacing) as long as the information is readable and accurate.",
                            "5. Consider the output correct if it faithfully represents the resume or job description’s main information."
                        ],
                        params=["actual_output"],

                    )
                ],
                chance=.3
            )
  1. Schema Evaluation
    client.maybe_text_eval_background(
                component="ocr",
                data=[
                    TextInputItem(

                        id="runtime evaluation", # identifiar (that can be unique). use same id in case you want to follow performance over time
                        input="...", # input given to ai component
                        output="...", # output of the ai component
                        # optional args/ condtional based on metrics passed
                        expected_output=["..."],
                        retrieval_context=[
                            ["..."]
                        ]

                    )
                ],
                metrics=[
                    ToxicityConfig(
                        # model="gpt-4.1",
                        threshold=0.2,
                        include_reason=False
                    ),
                    CorrectnessConfig(
                        steps=[
                            "You are evaluating text extracted from resumes and job descriptions using OCR.",
                            "1. Verify that the extracted text is coherent and free of major corruption (e.g., broken words, random characters).",
                            "2. Check whether key resume/job-related fields are preserved correctly (e.g., name, job title, skills, education, experience, company name, job requirements).",
                            "3. Ensure that important details are not missing or replaced with irrelevant content.",
                            "4. Ignore minor formatting issues (line breaks, spacing) as long as the information is readable and accurate.",
                            "5. Consider the output correct if it faithfully represents the resume or job description’s main information."
                        ],
                        params=["actual_output"],

                    )
                ],
                chance=.3
            )

Configuration

The client can be configured in multiple ways:

Directly via constructor arguments

DeepEvalClient(base_url="http://api", api_token="123")

Environment variables

export EVALFRAMEWORK_URL=http://api
export EVALFRAMWORK_API_KEY=123

Settings module

import settings # it can be django settings e.g.: from django.conf import settings
client = DeepEvalClient(settings_module=settings)

Release files for rakam-eval-sdk 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rakam-eval-sdk 0.2.4
File Size Uploaded
rakam_eval_sdk-0.2.4.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rakam-eval-sdk 0.2.4
File Interpreter ABI Platform
rakam_eval_sdk-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 26.1 kB

Release files / rakam_eval_sdk-0.2.4.tar.gz

Download URL rakam_eval_sdk-0.2.4.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
85934d1c54e4f94e616d2e400cab1ec582ee1479eaa817baedbd8a780d488606
BLAKE2b-256 checksum
How to use checksums
3b17b284b5715a1004d2f68f09fecf8d0b86530783016599dcdcd14b3d09e4d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6

Release files / rakam_eval_sdk-0.2.4-py3-none-any.whl

Download URL rakam_eval_sdk-0.2.4-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3010eacdb6d5e86ded3102254b2c124817327392995f537d8e9122851cb3d2b
BLAKE2b-256 checksum
How to use checksums
91044d8043d1e0ce6e2ac7255af8cdcf9f6d0c6a14ec33b6a5510c5cf44655bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page