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
- Metric Computation Engine (MCE) installed
- Agentic applications instrumented with AGNTCY's observe SDK
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:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cad1224e91e30555b961538eb751d3734e94c9708d82fea88b78949906d97c4
|
|
| MD5 |
060cd54ffcd0c4488ff89df994ad365b
|
|
| BLAKE2b-256 |
8a75e0e077b1c314dda40f76af7e18675e0e7d505ac0653ba1bf23314fc51f69
|
File details
Details for the file mce_opik_adapter-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mce_opik_adapter-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec242d5be1fc6b2ac3a0a84dacc93b8e8550935451382950848a0e24db465426
|
|
| MD5 |
2c4ff6206ac652f71c1b7cdcedf76da8
|
|
| BLAKE2b-256 |
17980b82476799bc524f3da0ea529b3c734b8c2e58ae3c7d46bf5329fa6f741f
|