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
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ validate-release:
@if [ -z "$(PLUGIN)" ]; then echo "ERROR: Set PLUGIN=<name>"; exit 1; fi
@if [ ! -d "$(PLUGIN_DIR)" ]; then echo "ERROR: $(PLUGIN_DIR) not found"; exit 1; fi
@PLUGIN_VERSION=$$(uv run python -c "import tomllib; print(tomllib.load(open('$(PLUGIN_DIR)/pyproject.toml','rb'))['project']['version'])"); \
uv run ddp check-release "$(PLUGIN)" "$$PLUGIN_VERSION"
uv run --package ddp ddp check-release "$(PLUGIN)" "$$PLUGIN_VERSION"

test-plugin:
@if [ -z "$(PLUGIN)" ]; then echo "ERROR: Set PLUGIN=<name>"; exit 1; fi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from pathlib import Path

import data_designer.config as dd
from data_designer.config.default_model_settings import get_default_providers
from data_designer.config.default_model_settings import get_builtin_model_providers, get_default_providers

from data_designer_retrieval_sdg.config import EmbeddingDedupColumnConfig
from data_designer_retrieval_sdg.models import (
Expand Down Expand Up @@ -218,7 +218,13 @@ def add_provider(provider: dd.ModelProvider, source: str, *, replace: bool = Fal
return None, []

custom_names = {p.name for p in custom}
defaults = [p for p in get_default_providers() if p.name not in custom_names]
try:
default_providers = get_default_providers()
except FileNotFoundError:
# Data Designer seeds the user-level provider file when its interface is
# constructed; provider resolution runs earlier in this pipeline.
default_providers = get_builtin_model_providers()
defaults = [p for p in default_providers if p.name not in custom_names]
return defaults + custom, custom


Expand Down
24 changes: 24 additions & 0 deletions plugins/data-designer-retrieval-sdg/tests/test_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import data_designer.config as dd
import pytest

import data_designer_retrieval_sdg.pipeline as pipeline_module
from data_designer_retrieval_sdg.pipeline import (
DEFAULT_CHAT_MODEL,
DEFAULT_EMBED_MODEL,
Expand Down Expand Up @@ -77,6 +78,29 @@ def test_provider_builder_combines_distinct_aliases(tmp_path: Path) -> None:
)


def test_provider_builder_uses_builtins_before_default_file_is_initialized(monkeypatch: pytest.MonkeyPatch) -> None:
builtin = dd.ModelProvider(
name="builtin",
endpoint="https://builtin.example.invalid/v1",
provider_type="openai",
)

def missing_default_file() -> list[dd.ModelProvider]:
raise FileNotFoundError

monkeypatch.setattr(pipeline_module, "get_default_providers", missing_default_file)
monkeypatch.setattr(pipeline_module, "get_builtin_model_providers", lambda: [builtin])

all_providers, custom = build_model_providers(
custom_provider_endpoint="https://custom.example.invalid/v1",
custom_provider_name="custom",
)

assert all_providers is not None
assert [provider.name for provider in all_providers] == ["builtin", "custom"]
assert [provider.name for provider in custom] == ["custom"]


def test_inline_provider_overrides_matching_provider_file_alias(tmp_path: Path) -> None:
providers_file = tmp_path / "providers.json"
providers_file.write_text(
Expand Down
Loading