Imported from
registry/profiles/resource-definition/service/inference.md
at commit
76a4a0c89924.
IRI Inference Service Resource Definition Profile
Profile URI: https://iri.science/profiles/resource-definition/service/inference
Base Profile: https://iri.science/profiles/status/resource
Resource Type: urn:doe-iri:resource:service:inference
Status: Draft
Version: 1.0.0
Profile Applicability
This profile applies when resource_type is
urn:doe-iri:resource:service:inference. It specializes the IRI Status
Resource Profile, which a conforming representation
MUST also satisfy. The authoritative URN record is Resource Type
URNs.
This document defines attributes for the urn:doe-iri:resource:service:inference resource type.
1. Profile Context
The following retained context identifies the profile’s Resource Type; its registration is authoritative in the URN registry.
| Field | Description |
|---|---|
| URN | urn:doe-iri:resource:service:inference |
| Short name | Inference Service |
| Description | A consumable model-invocation service. It does not identify a model, deployment, endpoint, replica, host, or accelerator. |
| Parent URN | urn:doe-iri:resource:service |
| Status | provisional |
| Introduced | IRI v2.0 |
| Change controller | IRI technical subcommittee. |
| Reference | Service Resource Types Design. |
| Legacy value | service enumeration. The broad legacy value does not distinguish this refinement. |
| Examples | urn:doe-iri:resource:service:inference |
| Notes | This profile defines relatively stable characteristics of a consumable inference service. |
2. Introduction
An inference service is a consumable service through which a facility makes model-invocation operations available. It is distinct from the compute systems or compute nodes that host it; hosting topology is represented separately using iri:hosted-on.
This profile records configured service semantics. Models, deployments, endpoints, replicas, hosts, and accelerators are not independent resource types in this profile. Endpoint URLs and served-model catalog entries are attributes of the inference service because they normally do not require independent IRI identity, lifecycle, or relationships.
The profile distinguishes inference APIs from inference technologies. An API identifies an invocation interface exposed to consumers; a technology identifies the implementation providing the service. A technology can expose one or more APIs, and an API can be exposed by more than one technology.
Except for schema_version, attributes in this profile are optional. Omit an optional attribute when it is unknown or not relevant instead of guessing a technology, version, API, endpoint, or model. The absence of an optional attribute means that the information has not been provided; it does not imply a particular value, capability, or lack of support.
3. Taxonomy
The taxonomy distinguishes the inference service resource type from controlled values used to describe it. Only attributes represented by controlled DOE-IRI URNs appear in the controlled-vocabulary portion of the tree.
urn:doe-iri
│
├── resource
│ └── service
│ └── inference
│
└── service
├── inference-api
│ ├── openai
│ └── kserve-v2
│
└── inference-technology
├── vllm
├── hugging-face-tgi
├── nvidia-triton
└── kserve
The complete controlled-vocabulary index is maintained in Controlled Attribute URNs.
4. Inference Service Attributes
This Resource Definition Profile defines the attributes that MAY describe a resource of type urn:doe-iri:resource:service:inference.
| Attribute | Version | Type | Description | Mandatory |
|---|---|---|---|---|
schema_version |
1.0.0 | string | Version of the profile definition (e.g. "1.0.0"). |
yes |
inference_technology |
1.0.0 | IRI URN string | Identifies the technology or implementation providing the inference service. | no |
technology_version |
1.0.0 | string | Identifies the deployed technology version when useful and known. | no |
inference_apis |
1.0.0 | Array IRI URN string | Identifies inference API families the service advertises to consumers. | no |
inference_endpoints |
1.0.0 | Array InferenceEndpoint | Identifies configured endpoints through which consumers can invoke the service. | no |
served_models |
1.0.0 | Array ServedModel | Catalogs models configured to be served by the service. | no |
4.1. Inference APIs
The inference_apis attribute identifies inference API families that the inference service advertises to consumers. It is an array because a service may expose more than one API. Each value MUST be a registered DOE-IRI URN from the urn:doe-iri:service:inference-api namespace.
| URN | Short name | Description | Status |
|---|---|---|---|
urn:doe-iri:service:inference-api:openai |
OpenAI-compatible API | An inference API family compatible with the OpenAI API. | provisional |
urn:doe-iri:service:inference-api:kserve-v2 |
KServe V2 | The KServe V2 inference API family. | provisional |
The API identifies the interface through which consumers invoke models and is distinct from the technology that implements the service. Facilities MUST explicitly advertise inference APIs; clients MUST NOT infer APIs or endpoint availability solely from inference_technology.
4.2. Inference Technology
The inference_technology attribute identifies the technology or implementation providing the inference service. Its value MUST be a registered DOE-IRI URN from the urn:doe-iri:service:inference-technology namespace.
| URN | Short name | Description | Status |
|---|---|---|---|
urn:doe-iri:service:inference-technology:vllm |
vLLM | The vLLM inference serving technology. | provisional |
urn:doe-iri:service:inference-technology:hugging-face-tgi |
Hugging Face TGI | The Hugging Face Text Generation Inference serving technology. | provisional |
urn:doe-iri:service:inference-technology:nvidia-triton |
NVIDIA Triton | The NVIDIA Triton inference serving technology. | provisional |
urn:doe-iri:service:inference-technology:kserve |
KServe | The KServe inference serving technology. | provisional |
These values identify technologies, not resource subtypes. Clients MUST NOT infer available APIs, endpoint reachability, authorization, capacity, served-model activity, or other operational availability solely from inference_technology.
4.3. Inference Endpoints
The inference_endpoints attribute identifies configured network endpoints through which consumers can invoke the service. A service may expose multiple endpoints, including endpoints for different API families.
Each InferenceEndpoint contains:
| Property | Type | Description | Mandatory |
|---|---|---|---|
url |
string URI | Configured network endpoint for inference requests. | yes |
api |
IRI URN string | Registered inference API family exposed by the endpoint. | yes |
name |
string | Human-readable endpoint label. | no |
The api value MUST come from the urn:doe-iri:service:inference-api:* family. An endpoint is configured access information, not a claim that it is currently reachable, available to a particular consumer, or authorized for a particular request.
4.4. Served Models
The served_models attribute catalogs models configured to be served by the inference service. Each ServedModel has a stable, service-local id and a human-readable name; version and model_uri are optional descriptive values.
Each ServedModel.id MUST be unique within a served_models array. A model appearing in served_models is not by itself a claim that it is currently loaded or able to serve requests. If the applicable IRI API contract represents current model activity using active_models, each item MUST reference a served_models.id from the corresponding Resource.
4.5. Time-Varying Observations
This version of the profile does not define current endpoint reachability, health, availability, request rate, queue depth, active replicas, model loading, or current model activity. If represented, the semantics and update behavior of those time-varying values are governed by the applicable IRI API contract and Resource Definition Profile.
5. Inference Service JSON Schema
components:
schemas:
IriUrn:
type: string
description: >
A DOE-IRI Uniform Resource Name (URN) identifying a registered
IRI resource type, attribute value, capability, or other
controlled vocabulary value.
pattern: '^urn:doe-iri:[A-Za-z0-9][A-Za-z0-9:._~-]*$'
InferenceEndpoint:
type: object
required:
- url
- api
properties:
url:
type: string
format: uri
api:
$ref: '#/components/schemas/IriUrn'
name:
type: string
ServedModel:
type: object
required:
- id
- name
properties:
id:
type: string
name:
type: string
version:
type: string
model_uri:
type: string
format: uri
InferenceServiceAttributes:
type: object
description: >
Attributes describing an inference service resource with resource type
urn:doe-iri:resource:service:inference.
required:
- schema_version
properties:
schema_version:
type: string
enum:
- "1.0.0"
inference_technology:
$ref: '#/components/schemas/IriUrn'
technology_version:
type: string
inference_apis:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/IriUrn'
inference_endpoints:
type: array
items:
$ref: '#/components/schemas/InferenceEndpoint'
served_models:
type: array
items:
$ref: '#/components/schemas/ServedModel'
6. Example Inference Service Attributes
The following vLLM inference service advertises an OpenAI-compatible endpoint and catalogs two models. This definition instance describes configured service characteristics, not current model activity.
{
"schema_version": "1.0.0",
"inference_technology": "urn:doe-iri:service:inference-technology:vllm",
"technology_version": "0.6.3",
"inference_apis": [
"urn:doe-iri:service:inference-api:openai"
],
"inference_endpoints": [
{
"url": "https://inference.example.gov/v1",
"api": "urn:doe-iri:service:inference-api:openai",
"name": "OpenAI-compatible inference endpoint"
}
],
"served_models": [
{
"id": "llama-3.1-8b-instruct",
"name": "Llama 3.1 8B Instruct",
"version": "3.1",
"model_uri": "https://models.example.gov/llama-3.1-8b-instruct"
},
{
"id": "mistral-7b-instruct-v0.3",
"name": "Mistral 7B Instruct v0.3",
"version": "0.3",
"model_uri": "https://models.example.gov/mistral-7b-instruct-v0.3"
}
]
}
DOE Integrated Research Infrastructure — URN Registry: Inference Service