Implemented optional concurrency for the LLM backend
This commit is contained in:
@@ -6,6 +6,7 @@ from audita.core.config import (
|
||||
DEFAULT_GLOSSARY_CONFIDENCE_THRESHOLD,
|
||||
DEFAULT_GRAMMAR_CONFIDENCE_THRESHOLD,
|
||||
DEFAULT_HOMOPHONES_CONFIDENCE_THRESHOLD,
|
||||
DEFAULT_LLM_CONCURRENCY,
|
||||
DEFAULT_NORMALIZE_MAX_SEGMENT_GAP,
|
||||
DEFAULT_SPOKEN_WORD_CONFIDENCE_THRESHOLD,
|
||||
DEFAULT_WORK_DIR_RETENTION,
|
||||
@@ -18,6 +19,7 @@ def test_default_config_allows_missing_api_key():
|
||||
config = AuditaConfig.from_sources(env={})
|
||||
|
||||
assert config.api_key is None
|
||||
assert config.llm_concurrency == DEFAULT_LLM_CONCURRENCY
|
||||
assert config.module_keys == DEFAULT_MODULE_KEYS
|
||||
assert config.glossary_confidence_threshold == DEFAULT_GLOSSARY_CONFIDENCE_THRESHOLD
|
||||
assert config.grammar_confidence_threshold == DEFAULT_GRAMMAR_CONFIDENCE_THRESHOLD
|
||||
@@ -36,6 +38,21 @@ def test_cli_overrides_take_precedence():
|
||||
assert config.max_section_tokens == 2000
|
||||
|
||||
|
||||
def test_llm_concurrency_cli_override_takes_precedence():
|
||||
config = AuditaConfig.from_sources(
|
||||
env={"AUDITA_LLM_CONCURRENCY": "2"},
|
||||
overrides=ConfigOverrides(llm_concurrency=4),
|
||||
)
|
||||
|
||||
assert config.llm_concurrency == 4
|
||||
|
||||
|
||||
def test_llm_concurrency_env_is_parsed():
|
||||
config = AuditaConfig.from_sources(env={"AUDITA_LLM_CONCURRENCY": "3"})
|
||||
|
||||
assert config.llm_concurrency == 3
|
||||
|
||||
|
||||
def test_generic_llm_api_key_env_is_read():
|
||||
config = AuditaConfig.from_sources(env={"AUDITA_LLM_API_KEY": "generic-key"})
|
||||
|
||||
@@ -141,3 +158,9 @@ def test_invalid_module_sequences_are_rejected(value):
|
||||
def test_invalid_thresholds_are_rejected(env_name):
|
||||
with pytest.raises(AuditaConfigError):
|
||||
AuditaConfig.from_sources(env={env_name: "1.5"})
|
||||
|
||||
|
||||
@pytest.mark.parametrize("value", ["0", "-1", "many"])
|
||||
def test_invalid_llm_concurrency_is_rejected(value):
|
||||
with pytest.raises(AuditaConfigError, match="AUDITA_LLM_CONCURRENCY"):
|
||||
AuditaConfig.from_sources(env={"AUDITA_LLM_CONCURRENCY": value})
|
||||
|
||||
Reference in New Issue
Block a user