Skip to main content

Opik integration adapter for Metrics Computation Engine

Project description

MCE Opik Adapter

A Python adapter library that integrates Opik metrics as third-party plugins for the Metric Computation Engine (MCE). This adapter enables seamless use of Opik's LLM evaluation metrics within the MCE framework for evaluating agentic applications.

Installation

pip install mce-opik-adapter

Prerequisites

Supported Opik Metrics

The adapter supports a wide range of Opik metrics, including but not limited to:

  • Hallucination - Evaluates whether the model response contains hallucinations
  • Usefulness - Evaluates the usefulness of a model response
  • Sentiment - Measures the sentiment of a model response

For a complete list of supported metrics, refer to the Opik documentation. Many metrics in this library will require which this adapter does not yet support. As we confirm compatibility of metrics, we will add it to the above list.

Usage

Basic Usage

import asyncio
from mce_opik_adapter.adapter import OpikMetricAdapter
from metrics_computation_engine.models.requests import LLMJudgeConfig
from metrics_computation_engine.registry import MetricRegistry

# Initialize LLM configuration
llm_config = LLMJudgeConfig(
    LLM_BASE_MODEL_URL="https://api.openai.com/v1",
    LLM_MODEL_NAME="gpt-4o",
    LLM_API_KEY="your-api-key-here"
)

# Create registry and register Opik metrics
registry = MetricRegistry()

# Method 1: Direct registration with metric name
registry.register_metric(OpikMetricAdapter, "Hallucination")

# Method 2: Using get_metric_class helper with prefix
from metrics_computation_engine.util import get_metric_class
metric, metric_name = get_metric_class("opik.Hallucination")
registry.register_metric(metric, metric_name)

Using with MCE REST API

When using the MCE as a service, include Opik metrics in your API request:

{
  "metrics": [
    "opik.Hallucination",
    "opik.Usefulness",
    "opik.Sentiment"
  ],
  "llm_judge_config": {
    "LLM_API_KEY": "your-api-key",
    "LLM_MODEL_NAME": "gpt-4o",
    "LLM_BASE_MODEL_URL": "https://api.openai.com/v1"
  },
  "batch_config": {
    "num_sessions": 10
  }
}

Configuration

Environment Variables

Set up your environment variables for LLM access:

# .env file
LLM_BASE_MODEL_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-4o
LLM_API_KEY=sk-your-openai-api-key

Supported Aggregation Levels

The adapter maps Opik metrics to different aggregation levels:

  • Span Level: Evaluate individual agent interactions or tool calls
  • Session Level: Evaluate complete conversation sessions

Contributing

Contributions are welcome! Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Create a new Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mce_opik_adapter-0.1.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mce_opik_adapter-0.1.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file mce_opik_adapter-0.1.1.tar.gz.

File metadata

  • Download URL: mce_opik_adapter-0.1.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mce_opik_adapter-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7cad1224e91e30555b961538eb751d3734e94c9708d82fea88b78949906d97c4
MD5 060cd54ffcd0c4488ff89df994ad365b
BLAKE2b-256 8a75e0e077b1c314dda40f76af7e18675e0e7d505ac0653ba1bf23314fc51f69

See more details on using hashes here.

File details

Details for the file mce_opik_adapter-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mce_opik_adapter-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ec242d5be1fc6b2ac3a0a84dacc93b8e8550935451382950848a0e24db465426
MD5 2c4ff6206ac652f71c1b7cdcedf76da8
BLAKE2b-256 17980b82476799bc524f3da0ea529b3c734b8c2e58ae3c7d46bf5329fa6f741f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page