Upstream Bitnami vector.so was built -march=native on an AVX-512 host; vector_norm's EVEX AVX-512 (vextractf64x2/vcvtusi2sd) SIGILLs the Ryzen 3950X during hnsw/ivfflat index builds, crashing the shared postgres. infra/images/postgresql.Dockerfile rebuilds pgvector -march=x86-64-v3 FROM the mirror; compose + deploy.sh build fhirworx/postgresql:pgvector. HNSW verified on the 15852-vector pilot (~2s, index scan). Flip [llm].build_ann_index default to true.
54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
"""llm.config — [llm] section parsing + env overrides."""
|
|
|
|
import pytest
|
|
|
|
from llm import config as llm_config
|
|
|
|
|
|
class TestLoad:
|
|
def test_defaults_from_stack_toml(self, monkeypatch):
|
|
monkeypatch.delenv("LLM_OLLAMA_HOSTS", raising=False)
|
|
monkeypatch.delenv("LLM_PG_HOST", raising=False)
|
|
monkeypatch.delenv("LLM_BUILD_ANN_INDEX", raising=False)
|
|
cfg = llm_config.load()
|
|
assert cfg.ollama_hosts == ("http://127.0.0.1:11434",)
|
|
assert cfg.embed_model == "nomic-embed-text"
|
|
assert cfg.embed_dim == 768
|
|
assert cfg.pg_host == "127.0.0.1"
|
|
assert cfg.pg_db == "llm"
|
|
assert cfg.build_ann_index is True
|
|
|
|
def test_env_overrides(self, monkeypatch):
|
|
monkeypatch.setenv(
|
|
"LLM_OLLAMA_HOSTS",
|
|
"http://rig:11434, http://laptop:11434",
|
|
)
|
|
monkeypatch.setenv("LLM_PG_HOST", "postgres")
|
|
cfg = llm_config.load()
|
|
assert cfg.ollama_hosts == ("http://rig:11434", "http://laptop:11434")
|
|
assert cfg.pg_host == "postgres"
|
|
|
|
def test_build_ann_index_env_override_true(self, monkeypatch):
|
|
monkeypatch.setenv("LLM_BUILD_ANN_INDEX", "1")
|
|
cfg = llm_config.load()
|
|
assert cfg.build_ann_index is True
|
|
|
|
def test_build_ann_index_env_override_false(self, monkeypatch):
|
|
monkeypatch.setenv("LLM_BUILD_ANN_INDEX", "no")
|
|
cfg = llm_config.load()
|
|
assert cfg.build_ann_index is False
|
|
|
|
|
|
class TestPgUrl:
|
|
def test_url_includes_password_from_env(self, monkeypatch):
|
|
monkeypatch.setenv("LLM_DB_PASSWORD", "s3cret")
|
|
cfg = llm_config.load()
|
|
url = llm_config.pg_url(cfg)
|
|
assert url == f"postgresql+psycopg://llm:s3cret@{cfg.pg_host}:5432/llm"
|
|
|
|
def test_missing_password_raises(self, monkeypatch):
|
|
monkeypatch.delenv("LLM_DB_PASSWORD", raising=False)
|
|
cfg = llm_config.load()
|
|
with pytest.raises(RuntimeError, match="LLM_DB_PASSWORD"):
|
|
llm_config.pg_url(cfg)
|