Spaces:
Sleeping
Sleeping
File size: 2,165 Bytes
1961f74 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | """Tests for neutral general-purpose model selection."""
from unittest.mock import patch
from app.services.model_picker import (
is_neon_character_model_id,
is_vanilla_neon_model_id,
pick_general_purpose_model,
)
def test_is_neon_character_model_id():
assert is_neon_character_model_id("neon:BrainForge/X@1:vanilla")
assert not is_neon_character_model_id("gpt-4o-mini")
def test_is_vanilla_neon_model_id():
assert is_vanilla_neon_model_id("neon:BrainForge/X@1:vanilla")
assert not is_vanilla_neon_model_id("neon:BrainForge/X@1:NucleotidingsAI")
def test_pick_prefers_non_neon_orchestrator():
with patch("app.services.model_picker.settings") as mock_settings:
mock_settings.orchestrator_model = "gpt-4o-mini"
mock_settings.providers = []
mock_settings.resolve_model.side_effect = lambda mid: (
{"model_id": mid} if mid == "gpt-4o-mini" else None
)
assert pick_general_purpose_model() == "gpt-4o-mini"
def test_pick_provider_when_orchestrator_unresolvable():
with patch("app.services.model_picker.settings") as mock_settings:
mock_settings.orchestrator_model = "gpt-4o-mini"
mock_settings.providers = [{
"models": [{"id": "gemini-2.0-flash", "name": "Gemini 2.0 Flash"}],
}]
mock_settings.resolve_model.side_effect = lambda mid: (
{"model_id": mid} if mid == "gemini-2.0-flash" else None
)
assert pick_general_purpose_model() == "gemini-2.0-flash"
def test_pick_vanilla_before_named_neon_character():
vanilla = "neon:BrainForge/NucleotidingsLLM@2026.05.23:vanilla"
named = "neon:BrainForge/NucleotidingsLLM@2026.05.23:NucleotidingsAI"
with patch("app.services.model_picker.settings") as mock_settings:
mock_settings.orchestrator_model = "gpt-4o-mini"
mock_settings.providers = []
mock_settings.resolve_model.side_effect = lambda mid: (
{"model_id": mid, "is_neon": mid.startswith("neon:")}
if mid in {vanilla, named}
else None
)
assert pick_general_purpose_model(extra_model_ids=[named, vanilla]) == vanilla
|