feat: flavor molecule RAG — ingredient pairing and substitution via FlavorDB compound vectors #146
Labels
No labels
accessibility
backlog
beta-feedback
bug
duplicate
enhancement
feature-request
help wanted
invalid
needs-design
needs-triage
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/kiwi#146
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Idea
Represent each ingredient as a sparse vector over its flavor compound profile (sourced from FlavorDB, ~35,000 molecules), then use cosine similarity to find nearest neighbors in compound space. Feed compound overlap to local LLM to explain pairings and generate recipes.
This is technically sparse vector nearest-neighbor search + LLM generation on top — retrieval is deterministic, generation is probabilistic. Fits the existing Kiwi architecture (deterministic core, LLM assist).
Origin
Alan and his partner tasted an artificial papaya candy. She perceived basil and balsamic; he perceived fruit. After she named it, he could re-perceive it her way. This is odor object re-labeling: smell perception is language-mediated, so the same receptor signals get reorganized under a new label. The molecular cause: artificial papaya is heavy in linalool, which is also a primary compound in basil. Balsamic aromatic esters overlap with tropical fruit ester profiles. Same molecules, different concentrations = vector distance.
Data sources
Feature surface in Kiwi
Architecture sketch
Notes