A 300-dimensional skip-gram ingredient embedding over a 1,790-ingredient canonical vocabulary, trained on a blend of (i) typed FlavorDB ingredient-compound metapath walks and (ii) injected pure ingredient-ingredient walks at ii_repeat=10. Core is the middle sibling on the chemistry-vs-recipe-context spectrum.
The 10x I-I injection is the design lever that concentrates Core's geometry: participation ratio drops to 94.2 of 300 (vs ~180 for the isotropic Cooc and Chem siblings), average pairwise cosine rises to 0.35, and the resulting concentration coincides with the tightest emergent modes of the three.
Companions in the family:
epicure-cooc (recipe-context only) and
epicure-chem (chemistry only).
1from epicure import Epicure
2
3m = Epicure.from_pretrained("Kaikaku/epicure-core")
4
5m.neighbors("chicken", k=5)
6# -> [('pork', 0.58), ('beef', 0.57), ('chicken_broth', 0.55),
7# ('peanut', 0.52), ('cream_of_chicken_soup', 0.52)]
8
9m.slerp("rice", "cuisine:South_Asian", theta_deg=30, k=5)
10# -> [('turmeric', 0.76), ('mustard_seed', 0.76), ('fenugreek_seed', 0.75),
11# ('coriander', 0.74), ('cumin', 0.74)]
12
13m.closest_mode("chocolate", kind="factor", k=3)
Identical structure to the Cooc sibling. The Core-specific differences:
See the Cooc model card for the per-file inventory.
Core's concentrated geometry pulls both pole tightness and the all-pairs floor upward; the tightness margin (mode coherence minus baseline) is comparable to Cooc and Chem at ~0.5, so the concentration is a design lever, not a defect.
When to pick Core: you want chemistry-aware structure but cannot afford to lose recipe-context companionship entirely. Core's nearest-neighbour for chicken is pork (chemistry peer) but its full top-5 includes chicken_broth and cream_of_chicken_soup (recipe context).
Same as Cooc. See
epicure-cooc for the full operator reference. The three operator families (top-K neighbours, closest-mode lookup, SLERP direction arithmetic) are identical across siblings; only the geometry they act on differs.
See the
epicure-cooc model card for the full discussion. Short version: the eight cuisine-macro-region pole vectors used in the paper's Section 4.2 hero examples are reconstructed here as the unit-mean of every mode whose Claude label contains a cuisine keyword. Core happens to reproduce paper-genre results with high fidelity because the chemistry-mediated walks cluster cuisines by aroma-compound profile.
Same as Cooc. See
the paper Section 5.3 for corpus imbalance, hub coverage, and LLM-dependence notes.
1@article{radzikowski2026epicure,
2 title = {Epicure: Navigating the Emergent Geometry of Food Ingredient Embeddings},
3 author = {Radzikowski, Jakub and Chen, Josef},
4 journal = {arXiv preprint arXiv:2605.22391},
5 year = {2026}
6}
License: CC BY 4.0.