updated tests and config nox
This commit is contained in:
parent
4aec6aa6c4
commit
add8da4c5c
@ -1,9 +1,12 @@
|
|||||||
# d-opt -- lang_main: config file
|
# d-opt -- lang_main: config file
|
||||||
|
|
||||||
[paths]
|
[paths]
|
||||||
inputs = '../lang-data/in/'
|
inputs = './lang-data/in/'
|
||||||
results = '../lang-data/out/'
|
results = './lang-data/out/'
|
||||||
models = '../lang-models'
|
models = './lang-models'
|
||||||
|
|
||||||
|
[models]
|
||||||
|
use_large_model = true
|
||||||
|
|
||||||
[logging]
|
[logging]
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|||||||
56
lang_main_config_old.toml
Normal file
56
lang_main_config_old.toml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
# d-opt -- lang_main: config file
|
||||||
|
|
||||||
|
[paths]
|
||||||
|
inputs = '../lang-data/in/'
|
||||||
|
results = '../lang-data/out/'
|
||||||
|
models = '../lang-models'
|
||||||
|
|
||||||
|
[logging]
|
||||||
|
enabled = true
|
||||||
|
stderr = true
|
||||||
|
file = true
|
||||||
|
|
||||||
|
# control which pipelines are executed
|
||||||
|
[control]
|
||||||
|
preprocessing_skip = false
|
||||||
|
token_analysis_skip = false
|
||||||
|
graph_postprocessing_skip = false
|
||||||
|
graph_rescaling_skip = false
|
||||||
|
graph_static_rendering_skip = true
|
||||||
|
time_analysis_skip = true
|
||||||
|
|
||||||
|
[preprocess]
|
||||||
|
date_cols = [
|
||||||
|
"VorgangsDatum",
|
||||||
|
"ErledigungsDatum",
|
||||||
|
"Arbeitsbeginn",
|
||||||
|
"ErstellungsDatum",
|
||||||
|
]
|
||||||
|
target_feature = "VorgangsBeschreibung"
|
||||||
|
threshold_amount_characters = 5
|
||||||
|
threshold_similarity = 0.92
|
||||||
|
|
||||||
|
[graph_postprocessing]
|
||||||
|
max_edge_number = -1
|
||||||
|
|
||||||
|
[time_analysis.uniqueness]
|
||||||
|
threshold_unique_texts = 5
|
||||||
|
criterion_feature = 'HObjektText'
|
||||||
|
feature_name_obj_id = 'ObjektID'
|
||||||
|
feature_name_obj_text = 'HObjektText'
|
||||||
|
|
||||||
|
[time_analysis.preparation]
|
||||||
|
name_delta_feat_to_repair = 'Zeitspanne bis zur Behebung [Tage]'
|
||||||
|
name_delta_feat_to_next_failure = 'Zeitspanne bis zum nächsten Ereignis [Tage]'
|
||||||
|
|
||||||
|
[time_analysis.model_input]
|
||||||
|
input_features = [
|
||||||
|
'VorgangsBeschreibung',
|
||||||
|
]
|
||||||
|
activity_feature = 'VorgangsTypName'
|
||||||
|
activity_types = [
|
||||||
|
'Reparaturauftrag (Portal)',
|
||||||
|
'Störungsmeldung',
|
||||||
|
]
|
||||||
|
threshold_num_activities = 1
|
||||||
|
threshold_similarity = 0.8
|
||||||
41
noxfile.py
Normal file
41
noxfile.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import os
|
||||||
|
import shlex
|
||||||
|
from typing import Final
|
||||||
|
|
||||||
|
import nox
|
||||||
|
from nox import Session
|
||||||
|
|
||||||
|
os.environ['PDM_IGNORE_SAVED_PYTHON'] = '1'
|
||||||
|
PYTHON_VERS: Final[list[str]] = ['3.11']
|
||||||
|
|
||||||
|
|
||||||
|
@nox.session(name='min', python=PYTHON_VERS, reuse_venv=True)
|
||||||
|
def tests_wo_models_cyto(session: Session) -> None:
|
||||||
|
"""Run all tests despite model loading and Cytoscape tests"""
|
||||||
|
cmd_raw = 'pdm install -G cytoscape,spacy-sm,spacy-md,spacy-trf -dG tests'
|
||||||
|
cmd = shlex.split(cmd_raw)
|
||||||
|
session.run_install(*cmd, external=True)
|
||||||
|
cmd_tests_raw = 'pytest -m "not mload and not cyto"'
|
||||||
|
cmd_tests = shlex.split(cmd_tests_raw)
|
||||||
|
session.run(*cmd_tests)
|
||||||
|
|
||||||
|
|
||||||
|
@nox.session(name='all', python=PYTHON_VERS, reuse_venv=True, default=False)
|
||||||
|
def tests_all(session: Session) -> None:
|
||||||
|
"""Run all tests, including Cytoscape Docker container"""
|
||||||
|
cmd_raw = 'pdm install -G cytoscape,spacy-sm,spacy-md,spacy-trf -dG tests'
|
||||||
|
cmd = shlex.split(cmd_raw)
|
||||||
|
session.run_install(*cmd, external=True)
|
||||||
|
|
||||||
|
cmd_tests_raw = 'pytest -n 4'
|
||||||
|
cmd_tests = shlex.split(cmd_tests_raw)
|
||||||
|
session.run(*cmd_tests)
|
||||||
|
|
||||||
|
session.run('docker', 'desktop', 'start', external=True)
|
||||||
|
session.run('docker', 'start', 'cyrest', external=True)
|
||||||
|
|
||||||
|
cmd_tests_raw = 'pytest -m "cyto"'
|
||||||
|
cmd_tests = shlex.split(cmd_tests_raw)
|
||||||
|
session.run(*cmd_tests)
|
||||||
|
|
||||||
|
session.run('docker', 'stop', 'cyrest', external=True)
|
||||||
@ -36,7 +36,7 @@ BASE_FOLDERNAME: Final[str] = os.environ.get('LANG_MAIN_BASE_FOLDERNAME', 'lang-
|
|||||||
CONFIG_FILENAME: Final[str] = 'lang_main_config.toml'
|
CONFIG_FILENAME: Final[str] = 'lang_main_config.toml'
|
||||||
CYTO_STYLESHEET_FILENAME: Final[str] = r'cytoscape_config/lang_main.xml'
|
CYTO_STYLESHEET_FILENAME: Final[str] = r'cytoscape_config/lang_main.xml'
|
||||||
PKG_DIR: Final[Path] = Path(__file__).parent
|
PKG_DIR: Final[Path] = Path(__file__).parent
|
||||||
STOP_FOLDER: Final[str] = os.environ.get('LANG_MAIN_STOP_SEARCH_FOLDERNAME', 'src')
|
STOP_FOLDER: Final[str] = os.environ.get('LANG_MAIN_STOP_SEARCH_FOLDERNAME', 'lang-main')
|
||||||
|
|
||||||
|
|
||||||
def load_toml_config(
|
def load_toml_config(
|
||||||
|
|||||||
@ -115,11 +115,11 @@ def _preprocess_STFR_model_name(
|
|||||||
# !! without any user names
|
# !! without any user names
|
||||||
folder_name = model_name.split('/')[-1]
|
folder_name = model_name.split('/')[-1]
|
||||||
model_path = MODEL_BASE_FOLDER / folder_name
|
model_path = MODEL_BASE_FOLDER / folder_name
|
||||||
if not model_path.exists():
|
if not model_path.exists(): # pragma: no cover
|
||||||
raise FileNotFoundError(
|
raise FileNotFoundError(
|
||||||
f'Target model >{model_name}< not found under {model_path}'
|
f'Target model >{model_name}< not found under {model_path}'
|
||||||
)
|
)
|
||||||
model_name_or_path = str(model_path) # pragma: no cover
|
model_name_or_path = str(model_path)
|
||||||
else:
|
else:
|
||||||
model_name_or_path = model_name
|
model_name_or_path = model_name
|
||||||
|
|
||||||
|
|||||||
@ -52,7 +52,7 @@ def test_load_cfg_func(monkeypatch, tmp_path):
|
|||||||
stop_folder_name=stop_folder,
|
stop_folder_name=stop_folder,
|
||||||
lookup_cwd=False,
|
lookup_cwd=False,
|
||||||
)
|
)
|
||||||
assert loaded_cfg['paths']['models'] == '../lang-models'
|
assert loaded_cfg['paths']['models'] == './lang-models'
|
||||||
|
|
||||||
loaded_cfg = config.load_cfg(
|
loaded_cfg = config.load_cfg(
|
||||||
starting_path=pkg_dir,
|
starting_path=pkg_dir,
|
||||||
@ -60,4 +60,4 @@ def test_load_cfg_func(monkeypatch, tmp_path):
|
|||||||
stop_folder_name=stop_folder,
|
stop_folder_name=stop_folder,
|
||||||
lookup_cwd=True,
|
lookup_cwd=True,
|
||||||
)
|
)
|
||||||
assert loaded_cfg['paths']['models'] == '../lang-models'
|
assert loaded_cfg['paths']['models'] == './lang-models'
|
||||||
|
|||||||
@ -26,7 +26,7 @@ from lang_main.types import LanguageModels
|
|||||||
'model_name',
|
'model_name',
|
||||||
[
|
[
|
||||||
STFRModelTypes.ALL_MINI_LM_L6_V2,
|
STFRModelTypes.ALL_MINI_LM_L6_V2,
|
||||||
STFRModelTypes.ALL_MPNET_BASE_V2,
|
STFRModelTypes.ALL_MINI_LM_L12_V2,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@pytest.mark.mload
|
@pytest.mark.mload
|
||||||
@ -58,7 +58,6 @@ def test_preprocess_STFR_model_name() -> None:
|
|||||||
|
|
||||||
model_name_exist = STFRModelTypes.E5_BASE_STS_EN_DE
|
model_name_exist = STFRModelTypes.E5_BASE_STS_EN_DE
|
||||||
backend_exist = STFRBackends.ONNX
|
backend_exist = STFRBackends.ONNX
|
||||||
with pytest.raises(FileNotFoundError):
|
|
||||||
_ = model_loader._preprocess_STFR_model_name(
|
_ = model_loader._preprocess_STFR_model_name(
|
||||||
model_name=model_name_exist, backend=backend_exist, force_download=False
|
model_name=model_name_exist, backend=backend_exist, force_download=False
|
||||||
)
|
)
|
||||||
@ -75,7 +74,7 @@ def test_preprocess_STFR_model_name() -> None:
|
|||||||
'model_name',
|
'model_name',
|
||||||
[
|
[
|
||||||
STFRModelTypes.ALL_MINI_LM_L6_V2,
|
STFRModelTypes.ALL_MINI_LM_L6_V2,
|
||||||
STFRModelTypes.ALL_MPNET_BASE_V2,
|
STFRModelTypes.ALL_MINI_LM_L12_V2,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@pytest.mark.mload
|
@pytest.mark.mload
|
||||||
@ -94,9 +93,7 @@ def test_load_sentence_transformer_onnx(model_name, similarity_func) -> None:
|
|||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
'model_name',
|
'model_name',
|
||||||
[
|
[
|
||||||
SpacyModelTypes.DE_CORE_NEWS_SM,
|
|
||||||
SpacyModelTypes.DE_CORE_NEWS_MD,
|
SpacyModelTypes.DE_CORE_NEWS_MD,
|
||||||
SpacyModelTypes.DE_CORE_NEWS_LG,
|
|
||||||
SpacyModelTypes.DE_DEP_NEWS_TRF,
|
SpacyModelTypes.DE_DEP_NEWS_TRF,
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@ -111,7 +108,7 @@ def test_load_spacy_model(model_name):
|
|||||||
def test_load_spacy_model_fail():
|
def test_load_spacy_model_fail():
|
||||||
model_name = 'not_existing'
|
model_name = 'not_existing'
|
||||||
with pytest.raises(LanguageModelNotFoundError):
|
with pytest.raises(LanguageModelNotFoundError):
|
||||||
model = model_loader.load_spacy(model_name)
|
_ = model_loader.load_spacy(model_name)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mload
|
@pytest.mark.mload
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user