mostlyai-engine 1.1.0__tar.gz → 1.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/PKG-INFO +8 -4
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/README.md +6 -2
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/__init__.py +1 -1
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/splitting.py +7 -2
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/pyproject.toml +2 -2
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/.gitignore +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/LICENSE +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_common.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_dtypes.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/__init__.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/__init__.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/categorical.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/datetime.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/numeric.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/text.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/__init__.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/categorical.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/character.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/datetime.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/itt.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/lat_long.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/numeric.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/__init__.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/common.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/encoding.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/__init__.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/base.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/hf_engine.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/vllm_engine.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/formatron_utils.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/generation.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/lstm.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/tokenizer_utils.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/training.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_memory.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/__init__.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/argn.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/common.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/encoding.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/fairness.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/generation.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/training.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_training_utils.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_workspace.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/analysis.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/domain.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/encoding.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/generation.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/logging.py +0 -0
- {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/training.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mostlyai-engine
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.2
|
|
4
4
|
Summary: Synthetic Data Engine
|
|
5
5
|
Project-URL: homepage, https://github.com/mostly-ai/mostlyai-engine
|
|
6
6
|
Project-URL: repository, https://github.com/mostly-ai/mostlyai-engine
|
|
@@ -30,7 +30,7 @@ Requires-Dist: formatron<0.5,>=0.4.11
|
|
|
30
30
|
Requires-Dist: joblib<2,>=1.3.0
|
|
31
31
|
Requires-Dist: json-repair<0.31,>=0.30.0
|
|
32
32
|
Requires-Dist: numpy<2,>=1.26.3
|
|
33
|
-
Requires-Dist: opacus
|
|
33
|
+
Requires-Dist: opacus==1.5.2
|
|
34
34
|
Requires-Dist: pandas~=2.2.0
|
|
35
35
|
Requires-Dist: peft<0.12,>=0.11.1
|
|
36
36
|
Requires-Dist: psutil<6,>=5.9.5
|
|
@@ -168,13 +168,17 @@ engine.init_logging()
|
|
|
168
168
|
|
|
169
169
|
# load original data
|
|
170
170
|
trn_df = pd.read_parquet("https://github.com/mostly-ai/public-demo-data/raw/refs/heads/dev/headlines/headlines.parquet")
|
|
171
|
-
trn_df = trn_df.sample(n=10_000, random_state=42)
|
|
171
|
+
trn_df = trn_df.sample(n=10_000, random_state=42)
|
|
172
172
|
|
|
173
173
|
# execute the engine steps
|
|
174
174
|
engine.split( # split data as PQT files for `trn` + `val` to `{ws}/OriginalData/tgt-data`
|
|
175
175
|
workspace_dir=ws,
|
|
176
176
|
tgt_data=trn_df,
|
|
177
|
-
|
|
177
|
+
tgt_encoding_types={
|
|
178
|
+
'category': 'LANGUAGE_CATEGORICAL',
|
|
179
|
+
'date': 'LANGUAGE_DATETIME',
|
|
180
|
+
'headline': 'LANGUAGE_TEXT',
|
|
181
|
+
}
|
|
178
182
|
)
|
|
179
183
|
engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelStore/tgt-stats/stats.json`
|
|
180
184
|
engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
|
|
@@ -117,13 +117,17 @@ engine.init_logging()
|
|
|
117
117
|
|
|
118
118
|
# load original data
|
|
119
119
|
trn_df = pd.read_parquet("https://github.com/mostly-ai/public-demo-data/raw/refs/heads/dev/headlines/headlines.parquet")
|
|
120
|
-
trn_df = trn_df.sample(n=10_000, random_state=42)
|
|
120
|
+
trn_df = trn_df.sample(n=10_000, random_state=42)
|
|
121
121
|
|
|
122
122
|
# execute the engine steps
|
|
123
123
|
engine.split( # split data as PQT files for `trn` + `val` to `{ws}/OriginalData/tgt-data`
|
|
124
124
|
workspace_dir=ws,
|
|
125
125
|
tgt_data=trn_df,
|
|
126
|
-
|
|
126
|
+
tgt_encoding_types={
|
|
127
|
+
'category': 'LANGUAGE_CATEGORICAL',
|
|
128
|
+
'date': 'LANGUAGE_DATETIME',
|
|
129
|
+
'headline': 'LANGUAGE_TEXT',
|
|
130
|
+
}
|
|
127
131
|
)
|
|
128
132
|
engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelStore/tgt-stats/stats.json`
|
|
129
133
|
engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
|
|
@@ -22,7 +22,7 @@ from mostlyai.engine.generation import generate
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
__all__ = ["split", "analyze", "encode", "train", "generate", "init_logging"]
|
|
25
|
-
__version__ = "1.1.
|
|
25
|
+
__version__ = "1.1.2"
|
|
26
26
|
|
|
27
27
|
# suppress specific warning related to os.fork() in multi-threaded processes
|
|
28
28
|
warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*multi-threaded.*fork.*")
|
|
@@ -55,8 +55,13 @@ def _get_default_tabular_encoding_type(x: pd.Series) -> ModelEncodingType:
|
|
|
55
55
|
return ModelEncodingType.tabular_categorical
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
def _get_default_language_encoding_type(
|
|
59
|
-
|
|
58
|
+
def _get_default_language_encoding_type(x: pd.Series) -> ModelEncodingType:
|
|
59
|
+
if is_integer_dtype(x) or is_float_dtype(x):
|
|
60
|
+
return ModelEncodingType.language_numeric
|
|
61
|
+
elif is_date_dtype(x) or is_timestamp_dtype(x):
|
|
62
|
+
return ModelEncodingType.language_datetime
|
|
63
|
+
else:
|
|
64
|
+
return ModelEncodingType.language_categorical
|
|
60
65
|
|
|
61
66
|
|
|
62
67
|
def split(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mostlyai-engine"
|
|
3
|
-
version = "1.1.
|
|
3
|
+
version = "1.1.2"
|
|
4
4
|
description = "Synthetic Data Engine"
|
|
5
5
|
authors = [{ name = "MOSTLY AI", email = "dev@mostly.ai" }]
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -36,7 +36,7 @@ dependencies = [
|
|
|
36
36
|
"datasets>=2.20.0,<3",
|
|
37
37
|
"accelerate>=0.31.0,<0.32",
|
|
38
38
|
"peft>=0.11.1,<0.12",
|
|
39
|
-
"opacus
|
|
39
|
+
"opacus==1.5.2", # pin as 1.5.3 breaks tests
|
|
40
40
|
"formatron>=0.4.11,<0.5",
|
|
41
41
|
"json-repair>=0.30.0,<0.31",
|
|
42
42
|
"rich>=13.9.4,<14",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/datetime.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/numeric.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/text.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/character.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/datetime.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/itt.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/lat_long.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/numeric.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/hf_engine.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/vllm_engine.py
RENAMED
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/formatron_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/tokenizer_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|