JarvisDirectBackend(engine_key: Optional[str] = None, telemetry: bool = False, gpu_metrics: bool = False, base_url: Optional[str] = None, api_key: Optional[str] = None)
Bases: InferenceBackend
Direct engine inference via SystemBuilder.
Works for both local models (Ollama, vLLM, etc.) and cloud models
(OpenAI, Anthropic, Google) via the CloudEngine.
Source code in src/openjarvis/evals/backends/jarvis_direct.py
| def __init__(
self,
engine_key: Optional[str] = None,
telemetry: bool = False,
gpu_metrics: bool = False,
base_url: Optional[str] = None,
api_key: Optional[str] = None,
) -> None:
from openjarvis.system import SystemBuilder
self._telemetry = telemetry
self._gpu_metrics = gpu_metrics
builder = SystemBuilder()
if base_url:
# Explicit endpoint targeting (--base-url): pin the eval to
# exactly this OpenAI-compatible endpoint. Fails fast if it is
# unreachable; never falls back to a discovered engine.
from openjarvis.evals.backends._endpoint_util import (
build_endpoint_engine,
)
engine = build_endpoint_engine(base_url, api_key, engine_key)
builder.engine_instance(engine, key=engine_key or "openai-compat")
elif engine_key:
builder.engine(engine_key)
# Propagate gpu_metrics to the runtime config so SystemBuilder
# creates an EnergyMonitor / GpuMonitor for the InstrumentedEngine.
if gpu_metrics:
builder._config.telemetry.gpu_metrics = True
self._system = builder.telemetry(telemetry).traces(telemetry).build()
|
Attributes
framework_commit_value
property
framework_commit_value: str
OpenJarvis repo HEAD commit (for telemetry tagging).