JarvisAgentBackend(engine_key: Optional[str] = None, agent_name: str = 'orchestrator', tools: Optional[List[str]] = None, telemetry: bool = False, gpu_metrics: bool = False, model: Optional[str] = None)
Bases: InferenceBackend
Agent-level inference via SystemBuilder + JarvisSystem.ask().
Supports tool calling via the agent harness. Works for both local
and cloud models.
Source code in src/openjarvis/evals/backends/jarvis_agent.py
| def __init__(
self,
engine_key: Optional[str] = None,
agent_name: str = "orchestrator",
tools: Optional[List[str]] = None,
telemetry: bool = False,
gpu_metrics: bool = False,
model: Optional[str] = None,
) -> None:
from openjarvis.system import SystemBuilder
self._agent_name = agent_name
self._tools = tools or []
self._telemetry = telemetry
self._gpu_metrics = gpu_metrics
builder = SystemBuilder()
if engine_key:
builder.engine(engine_key)
if model:
builder.model(model)
builder.agent(agent_name)
if tools:
builder.tools(tools)
# Propagate gpu_metrics to the runtime config so SystemBuilder
# creates a GpuMonitor when building the InstrumentedEngine.
if gpu_metrics:
builder._config.telemetry.gpu_metrics = True
self._system = builder.telemetry(telemetry).traces(telemetry).build()
|
Functions
set_task_metadata(metadata: dict) -> None
Forward task environment metadata to the underlying agent.
Source code in src/openjarvis/evals/backends/jarvis_agent.py
| def set_task_metadata(self, metadata: dict) -> None:
"""Forward task environment metadata to the underlying agent."""
agent = getattr(self._system, "_agent", None)
if agent and hasattr(agent, "set_task_metadata"):
agent.set_task_metadata(metadata)
|