from Hacker News

Show HN: Knowledge graph of restaurants and chefs, built using LLMs

by theophilec on 3/3/25, 3:43 PM with 39 comments

Hi HN!

My latest side project is knowledge graph that maps the French culinary network using data extracted from restaurant reviews from LeFooding.com. The project uses LLMs to extract structured information from unstructured text.

Some technical aspects you may be interested in:

- Used structured generation to reliably parse unstructured text into a consistent schema

- Tested multiple models (Mistral-7B-v0.3, Llama3.2-3B, gpt4o-mini) for information extraction

- Created an interactive visualization using gephi-lite and Retina (WebGL)

- Built (with Claude) a simple Flask web app to clean and deduplicate the data

- Total cost for inferencing 2000 reviews with gpt4o-mini: less than 1€!

You can explore the visualization here: [Interactive Culinary Network](https://ouestware.gitlab.io/retina/1.0.0-beta.4/#/graph/?url...)

The code for the project is available on GitHub: - Main project: https://github.com/theophilec/foudinge - Data cleaning tool: https://github.com/theophilec/foudinge-scrub

Happy to get feedback!

  • by tantalor on 3/3/25, 4:17 PM

    The embedding is kind of weird. Like, there's no reason a "degree: 1" node should be so far away from its sibling.

    Example: https://imgur.com/a/7Cktyzp

    This makes the graph look more random/noisy/disorganized than it actually is.

  • by arnath on 3/3/25, 4:52 PM

    This is a super cool idea! I've sort of mused about an idea for general web search that's very similar to this concept, where you start with a set of trusted entities and then branch out from there, but choosing how you establish trust is really important. But this is a really clever application, well done!
  • by moandcompany on 3/3/25, 3:59 PM

    Very cool work.

    It's worth mentionion that the Graph browser using "Retina" is a project from Ouestware (https://www.ouestware.com/en/) which is also contributor to the GraphCommons and GephiLite projects.

  • by nluken on 3/3/25, 5:24 PM

    Given the structured nature of the data, how does this compare to running a specialized classification model that looks for specific words in a review and uses those to assign Chefs to Restaurants? With some fine tuning, you might get more consistent results than feeding the reviews into a generative model.
  • by jonnycoder on 3/3/25, 6:05 PM

    This looks great! I was just looking for a good web knowledge graph visualizer.
  • by bevan on 3/3/25, 6:38 PM

    This was inspiring, what a cool idea. Just curious—-for 4o mini isn’t there a json mode that reliably produces structured output? Was that what you were referring to / ended up using?
  • by holtwork on 3/3/25, 5:27 PM

    Great project. I propose an improvement over this conventional kind of object-style graph. Instead, every single item should be a node or an edge. The objects are needless complexities that obscure pure graph relations. Like this: https://memelang.net/03/
  • by drabbiticus on 3/3/25, 11:17 PM

    Very interesting. A small tweak and it seems like this could be applied to the problem of identifying degree of separation from political dissidents or other targets with the right data source. Lots of tools already exist that do that, but it's kind of wild how accessible and scalable certain techniques have become.
  • by nswanberg on 3/3/25, 6:05 PM

    Nice! How'd the local models do vs gpt4o-mini? Did you spend much time playing with datasette?
  • by pranavm27 on 3/6/25, 8:16 AM

    Do you think this will work as effectively with Google or Social Media review and rating datasets? As every country may not have a LeFooding.com

    Would like to here everyone's thoughts

  • by nickthegreek on 3/3/25, 4:38 PM

    Graph embed does not appear to work in FF 135. Loaded in Chrome though.

    Edit: Seems to be a me issue.

  • by repsiace on 3/3/25, 4:38 PM

    Looks interesting, have you tried utilizing a multimodal model?
  • by martinky24 on 3/3/25, 3:56 PM

    What's the use case for maintaining a list of restaurants that use LLMs?