Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/providers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Inference provider registry package."""
1 change: 1 addition & 0 deletions src/providers/inference/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Inference providers, catalog models, and shared registry types."""
1 change: 1 addition & 0 deletions src/providers/inference/azure/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Azure inference provider package."""
1 change: 1 addition & 0 deletions src/providers/inference/bedrock/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Bedrock inference provider package."""
16 changes: 16 additions & 0 deletions src/providers/inference/catalog.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
"""Internal inference catalog models."""

from typing import Any

from pydantic import BaseModel, Field

from providers.inference.types import ModelType


class CatalogModel(BaseModel):
"""Cached catalog row for inference providers and the registry."""

name: str
provider_resource_id: str
model_type: ModelType
metadata: dict[str, Any] = Field(default_factory=dict)
1 change: 1 addition & 0 deletions src/providers/inference/openai/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""OpenAI inference provider package."""
1 change: 1 addition & 0 deletions src/providers/inference/sentence_transformers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Sentence-transformers inference provider package."""
19 changes: 19 additions & 0 deletions src/providers/inference/types.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
"""Shared literals and aliases for the inference provider registry."""

from typing import Any, Final, Literal

ProviderType = Literal[
"openai",
"azure",
"vertexai",
"bedrock",
"watsonx",
"vllm",
"sentence_transformers",
]

ModelType = Literal["llm", "embedding", "rerank"]

type ProviderId = str

PROVIDER_CLASSES: Final[dict[ProviderType, Any]] = {}
1 change: 1 addition & 0 deletions src/providers/inference/vertexai/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Vertex AI inference provider package."""
1 change: 1 addition & 0 deletions src/providers/inference/vllm/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""vLLM inference provider package."""
1 change: 1 addition & 0 deletions src/providers/inference/watsonx/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""WatsonX inference provider package."""
1 change: 1 addition & 0 deletions tests/unit/providers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Unit tests for the providers package."""
1 change: 1 addition & 0 deletions tests/unit/providers/inference/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Unit tests for providers.inference."""
17 changes: 17 additions & 0 deletions tests/unit/providers/inference/test_catalog.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
"""Unit tests for internal inference catalog models."""

from providers.inference.catalog import CatalogModel


def test_catalog_model_construction() -> None:
"""CatalogModel stores name, wire id, type, and metadata."""
row = CatalogModel(
name="fast-chat",
provider_resource_id="gpt-4o-mini",
model_type="llm",
metadata={"context_window": 128000},
)
assert row.name == "fast-chat"
assert row.provider_resource_id == "gpt-4o-mini"
assert row.model_type == "llm"
assert row.metadata["context_window"] == 128000
Loading