Index
engine
¶
Inference Engine primitive — LLM runtime management.
Classes¶
EngineConnectionError
¶
Bases: Exception
Raised when an engine is unreachable.
InferenceEngine
¶
Bases: ABC
Base class for all inference engine backends.
Subclasses must be registered via
@EngineRegistry.register("name") to become discoverable.
Functions¶
generate
abstractmethod
¶
generate(messages: Sequence[Message], *, model: str, temperature: float = 0.7, max_tokens: int = 1024, **kwargs: Any) -> Dict[str, Any]
Synchronous completion — returns a dict with content and usage.
Source code in src/openjarvis/engine/_stubs.py
stream
abstractmethod
async
¶
stream(messages: Sequence[Message], *, model: str, temperature: float = 0.7, max_tokens: int = 1024, **kwargs: Any) -> AsyncIterator[str]
Yield token strings as they are generated.
Source code in src/openjarvis/engine/_stubs.py
list_models
abstractmethod
¶
health
abstractmethod
¶
close
¶
Functions¶
messages_to_dicts
¶
messages_to_dicts(messages: Sequence[Message]) -> List[Dict[str, Any]]
Convert Message objects to OpenAI-format dicts.
Source code in src/openjarvis/engine/_base.py
discover_engines
¶
discover_engines(config: JarvisConfig) -> List[Tuple[str, InferenceEngine]]
Probe registered engines and return [(key, instance)] for healthy ones.
Results are sorted with the config default engine first.
Source code in src/openjarvis/engine/_discovery.py
discover_models
¶
discover_models(engines: List[Tuple[str, InferenceEngine]]) -> Dict[str, List[str]]
Call list_models() on each engine and return a dict.
Source code in src/openjarvis/engine/_discovery.py
get_engine
¶
get_engine(config: JarvisConfig, engine_key: str | None = None) -> Tuple[str, InferenceEngine] | None
Get a specific engine by key, or the default with fallback.
Returns (key, engine_instance) or None if no engine is available.