Add profile presets and min-p controls, embeddings and VoxCPM workers

This commit is contained in:
Mikei386 committed 2026-10-02 18:42:29 +02:00
1 parent 74dd2ed8ba
commit a7b30b62d2
32 files changed
+615 -64

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
import tempfile
import unittest
from pathlib import Path
from types import SimpleNamespace
from unittest.mock import Mock
from embeddings import Embeddings,REPO,FILE,supported
from profiles import Profiles
from execution_setup import assess
class EmbeddingTests(unittest.TestCase):
def test_recipe_is_exact_and_does_not_invent_components(self):
model=dict(kind='embeddings',repo=REPO,file=FILE,id='a'*64)
self.assertTrue(supported(model));self.assertFalse(supported(dict(model,file='other.gguf')))
with tempfile.TemporaryDirectory() as d:
catalog=Mock();catalog.entry.return_value=model
p=Profiles(Path(d)/'profiles.json',catalog)
p.embedding_blockers=lambda _:[]
result=p.components(model['id'])
self.assertTrue(result['no_components']);self.assertEqual(result['requirements'],[])
self.assertTrue(result['runtime_installed']);catalog.files.assert_not_called()
result=assess(model,{'embeddings':True},dict(runnable=True,blockers=[]))
self.assertEqual(result['state'],'ready');self.assertEqual(result['components'],[])
def test_runtime_failure_is_actionable(self):
with tempfile.TemporaryDirectory() as d:
worker=Mock();worker.build.side_effect=ValueError('Build fehlt')
e=Embeddings(d,Mock(),worker)
self.assertEqual(e.blockers({'model':dict(kind='embeddings',repo=REPO,file=FILE)}),['Build fehlt'])
self.assertTrue(e.blockers({'model':dict(kind='embeddings',repo='unknown/model',file='model.gguf')}))