Spaces:
Running
Running
Connect Epicure Explorer to FlavourBench
Browse files
README.md
CHANGED
|
@@ -8,7 +8,7 @@ sdk_version: 5.7.1
|
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: cc-by-4.0
|
| 11 |
-
short_description: Operators
|
| 12 |
models:
|
| 13 |
- Kaikaku/epicure-cooc
|
| 14 |
- Kaikaku/epicure-core
|
|
@@ -19,6 +19,12 @@ datasets:
|
|
| 19 |
|
| 20 |
# Epicure Explorer
|
| 21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
Interactive chef-facing demo of the three Epicure sibling ingredient embeddings (Cooc, Core, Chem). Three operator tabs:
|
| 23 |
|
| 24 |
1. **Pairings**: top-K cosine neighbours plus the closest emergent mode for any of 1,790 ingredients.
|
|
|
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: cc-by-4.0
|
| 11 |
+
short_description: Operators behind the FlavourBench culinary benchmark
|
| 12 |
models:
|
| 13 |
- Kaikaku/epicure-cooc
|
| 14 |
- Kaikaku/epicure-core
|
|
|
|
| 19 |
|
| 20 |
# Epicure Explorer
|
| 21 |
|
| 22 |
+
> **Epicure powers [FlavourBench](https://github.com/josefchen/flavourbench), the executable
|
| 23 |
+
> culinary reasoning benchmark for frontier language models.** The benchmark turns versioned
|
| 24 |
+
> Epicure operations into answer keys, evaluates 20 current endpoints on 32 tasks, and measures the
|
| 25 |
+
> same model-task pairs with and without Epicure. [Read the paper](https://github.com/josefchen/flavourbench/blob/main/paper/build/flavourbench.pdf)
|
| 26 |
+
> or [reproduce the leaderboard](https://github.com/josefchen/flavourbench#reproduce-the-result).
|
| 27 |
+
|
| 28 |
Interactive chef-facing demo of the three Epicure sibling ingredient embeddings (Cooc, Core, Chem). Three operator tabs:
|
| 29 |
|
| 30 |
1. **Pairings**: top-K cosine neighbours plus the closest emergent mode for any of 1,790 ingredients.
|
app.py
CHANGED
|
@@ -1742,6 +1742,51 @@ CUSTOM_CSS = f"""
|
|
| 1742 |
.gradio-container {{ max-width: 1280px !important; background: #ffffff !important; }}
|
| 1743 |
footer {{ visibility: hidden; }}
|
| 1744 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1745 |
/* Labels: plain dark text, no chip background */
|
| 1746 |
.gradio-container label, .gradio-container .label,
|
| 1747 |
.gradio-container [data-testid="block-label"], .gradio-container .block-label,
|
|
@@ -1808,6 +1853,8 @@ footer {{ visibility: hidden; }}
|
|
| 1808 |
|
| 1809 |
/* Mobile responsive: stack the three sibling result tables on narrow screens */
|
| 1810 |
@media (max-width: 768px) {{
|
|
|
|
|
|
|
| 1811 |
.gradio-container .compare-row {{ flex-direction: column !important; }}
|
| 1812 |
.gradio-container .compare-row > * {{ width: 100% !important; min-width: 0 !important; }}
|
| 1813 |
.spectrum-cell {{ padding: 6px 8px; }}
|
|
@@ -1844,6 +1891,21 @@ SPECTRUM_BAR = """
|
|
| 1844 |
</div>
|
| 1845 |
"""
|
| 1846 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1847 |
# ===== Pre-rendered killer demo on landing =====
|
| 1848 |
|
| 1849 |
_DEFAULT_BASKET = ["chicken","lemon","garlic"]
|
|
@@ -1860,6 +1922,7 @@ Three sibling ingredient embeddings from [arXiv:2605.22391](https://arxiv.org/ab
|
|
| 1860 |
1,790 canonical ingredients across 7 languages; 300-D Metapath2Vec; controlled chemistry-vs-recipe-context spectrum.
|
| 1861 |
"""
|
| 1862 |
)
|
|
|
|
| 1863 |
gr.HTML(SPECTRUM_BAR)
|
| 1864 |
|
| 1865 |
with gr.Tabs():
|
|
@@ -2275,7 +2338,7 @@ Three sibling ingredient embeddings from [arXiv:2605.22391](https://arxiv.org/ab
|
|
| 2275 |
gr.Markdown(
|
| 2276 |
"""---
|
| 2277 |
**Cite:** Radzikowski and Chen, 2026, *Epicure: Navigating the Emergent Geometry of Food Ingredient Embeddings*, [arXiv:2605.22391](https://arxiv.org/abs/2605.22391).
|
| 2278 |
-
Models: [epicure-cooc](https://huggingface.co/Kaikaku/epicure-cooc) 路 [epicure-core](https://huggingface.co/Kaikaku/epicure-core) 路 [epicure-chem](https://huggingface.co/Kaikaku/epicure-chem) 路 [dataset](https://huggingface.co/datasets/Kaikaku/epicure-corpus-resources) 路 [API](/?view=api)
|
| 2279 |
"""
|
| 2280 |
)
|
| 2281 |
|
|
|
|
| 1742 |
.gradio-container {{ max-width: 1280px !important; background: #ffffff !important; }}
|
| 1743 |
footer {{ visibility: hidden; }}
|
| 1744 |
|
| 1745 |
+
/* FlavourBench research funnel */
|
| 1746 |
+
.benchmark-callout {{
|
| 1747 |
+
align-items: center;
|
| 1748 |
+
background: #f8fafc !important;
|
| 1749 |
+
border: 1px solid #dbe4ec;
|
| 1750 |
+
border-left: 4px solid {KAIKAKU_ACCENT};
|
| 1751 |
+
display: grid;
|
| 1752 |
+
gap: 20px;
|
| 1753 |
+
grid-template-columns: minmax(0, 1fr) auto;
|
| 1754 |
+
margin: 18px 0 14px;
|
| 1755 |
+
padding: 18px 20px;
|
| 1756 |
+
}}
|
| 1757 |
+
.benchmark-callout-kicker {{
|
| 1758 |
+
color: {KAIKAKU_ACCENT} !important;
|
| 1759 |
+
font-size: 0.72rem;
|
| 1760 |
+
font-weight: 800;
|
| 1761 |
+
letter-spacing: 0.09em;
|
| 1762 |
+
margin-bottom: 5px;
|
| 1763 |
+
text-transform: uppercase;
|
| 1764 |
+
}}
|
| 1765 |
+
.benchmark-callout strong {{
|
| 1766 |
+
color: #0f172a !important;
|
| 1767 |
+
display: block;
|
| 1768 |
+
font-size: 1.05rem;
|
| 1769 |
+
line-height: 1.35;
|
| 1770 |
+
}}
|
| 1771 |
+
.benchmark-callout p {{
|
| 1772 |
+
color: #475569 !important;
|
| 1773 |
+
line-height: 1.45;
|
| 1774 |
+
margin: 5px 0 0;
|
| 1775 |
+
max-width: 820px;
|
| 1776 |
+
}}
|
| 1777 |
+
.benchmark-callout-links {{ display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }}
|
| 1778 |
+
.benchmark-callout-links a {{
|
| 1779 |
+
border: 1px solid {KAIKAKU_ACCENT};
|
| 1780 |
+
color: {KAIKAKU_ACCENT} !important;
|
| 1781 |
+
font-weight: 700;
|
| 1782 |
+
padding: 9px 12px;
|
| 1783 |
+
text-decoration: none !important;
|
| 1784 |
+
}}
|
| 1785 |
+
.benchmark-callout-links a:first-child {{
|
| 1786 |
+
background: {KAIKAKU_ACCENT} !important;
|
| 1787 |
+
color: #ffffff !important;
|
| 1788 |
+
}}
|
| 1789 |
+
|
| 1790 |
/* Labels: plain dark text, no chip background */
|
| 1791 |
.gradio-container label, .gradio-container .label,
|
| 1792 |
.gradio-container [data-testid="block-label"], .gradio-container .block-label,
|
|
|
|
| 1853 |
|
| 1854 |
/* Mobile responsive: stack the three sibling result tables on narrow screens */
|
| 1855 |
@media (max-width: 768px) {{
|
| 1856 |
+
.benchmark-callout {{ grid-template-columns: 1fr; }}
|
| 1857 |
+
.benchmark-callout-links {{ justify-content: flex-start; }}
|
| 1858 |
.gradio-container .compare-row {{ flex-direction: column !important; }}
|
| 1859 |
.gradio-container .compare-row > * {{ width: 100% !important; min-width: 0 !important; }}
|
| 1860 |
.spectrum-cell {{ padding: 6px 8px; }}
|
|
|
|
| 1891 |
</div>
|
| 1892 |
"""
|
| 1893 |
|
| 1894 |
+
BENCHMARK_CALLOUT = """
|
| 1895 |
+
<aside class="benchmark-callout">
|
| 1896 |
+
<div>
|
| 1897 |
+
<div class="benchmark-callout-kicker">Frontier culinary reasoning benchmark</div>
|
| 1898 |
+
<strong>Epicure is the operator layer behind FlavourBench.</strong>
|
| 1899 |
+
<p>See 20 current language-model endpoints on 32 executable culinary tasks, plus 640 matched
|
| 1900 |
+
Model only / Model + Epicure pairs. No human or model judge scores the leaderboard.</p>
|
| 1901 |
+
</div>
|
| 1902 |
+
<div class="benchmark-callout-links">
|
| 1903 |
+
<a href="https://github.com/josefchen/flavourbench" target="_blank" rel="noopener">Open FlavourBench</a>
|
| 1904 |
+
<a href="https://github.com/josefchen/flavourbench/blob/main/paper/build/flavourbench.pdf" target="_blank" rel="noopener">Read paper</a>
|
| 1905 |
+
</div>
|
| 1906 |
+
</aside>
|
| 1907 |
+
"""
|
| 1908 |
+
|
| 1909 |
# ===== Pre-rendered killer demo on landing =====
|
| 1910 |
|
| 1911 |
_DEFAULT_BASKET = ["chicken","lemon","garlic"]
|
|
|
|
| 1922 |
1,790 canonical ingredients across 7 languages; 300-D Metapath2Vec; controlled chemistry-vs-recipe-context spectrum.
|
| 1923 |
"""
|
| 1924 |
)
|
| 1925 |
+
gr.HTML(BENCHMARK_CALLOUT)
|
| 1926 |
gr.HTML(SPECTRUM_BAR)
|
| 1927 |
|
| 1928 |
with gr.Tabs():
|
|
|
|
| 2338 |
gr.Markdown(
|
| 2339 |
"""---
|
| 2340 |
**Cite:** Radzikowski and Chen, 2026, *Epicure: Navigating the Emergent Geometry of Food Ingredient Embeddings*, [arXiv:2605.22391](https://arxiv.org/abs/2605.22391).
|
| 2341 |
+
Benchmark: [FlavourBench](https://github.com/josefchen/flavourbench) 路 Models: [epicure-cooc](https://huggingface.co/Kaikaku/epicure-cooc) 路 [epicure-core](https://huggingface.co/Kaikaku/epicure-core) 路 [epicure-chem](https://huggingface.co/Kaikaku/epicure-chem) 路 [dataset](https://huggingface.co/datasets/Kaikaku/epicure-corpus-resources) 路 [API](/?view=api)
|
| 2342 |
"""
|
| 2343 |
)
|
| 2344 |
|