1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-07-21 14:19:41 +02:00

update NLP for ingredients

This commit is contained in:
hay-kot 2021-08-29 17:10:51 -08:00
parent 086098899d
commit 2e6352cfbd
7 changed files with 164 additions and 22 deletions

View file

@ -0,0 +1,35 @@
from dataclasses import dataclass
from fractions import Fraction
from mealie.services.scraper.ingredient_nlp.processor import CRFIngredient, convert_list_to_crf_model
@dataclass
class TestIngredient:
input: str
quantity: float
test_ingredients = [
TestIngredient("½ cup all-purpose flour", 0.5),
TestIngredient("1½ teaspoons ground black pepper", 1.5),
TestIngredient("⅔ cup unsweetened flaked coconut", 0.7),
TestIngredient("⅓ cup panko bread crumbs", 0.3),
]
def test_nlp_parser():
models: list[CRFIngredient] = convert_list_to_crf_model([x.input for x in test_ingredients])
# Itterate over mdoels and test_ingreidnets to gether
print()
for model, test_ingredient in zip(models, test_ingredients):
print("Testing:", test_ingredient.input, end="")
assert float(sum(Fraction(s) for s in model.qty.split())) == test_ingredient.quantity
print(" ✅ Passed")
if __name__ == "__main__":
test_nlp_parser()