Skip to content

gabebider/recipe-ranger

Repository files navigation

Recipe Ranger - Project 3


Installation

You first need to install the dependencies for the project. You can do this on macOS by running the following command (not needed for Windows):

brew install portaudio

Then, you can install the Python dependencies by running the following command (Both macOS and Windows):

pip install -r requirements.txt

Running

To run the project, you can run the following command after installing the dependencies:

python Runner.py

That will let you choose between providing a recipe or searching for one. If you choose to provide a recipe, you will asked to provide a link to a recipe. If you choose to ask for a recipe, you will be asked to provide a keyword to search for, and then choose a recipe from the results.


Assigned Tasks

Project 3

  • Accept the URL of a recipe from AllRecipes.com, and programmatically fetch the page.
  • Parse it into the recipe data representation your group designs. Your parser should be able to recognize:
    • Ingredients
      • Ingredient name
      • Quantity
      • Measurement (cup, teaspoon, pinch, etc.)
      • (optional) Descriptor (e.g. fresh, extra-virgin)
      • (optional) Preparation (e.g. finely chopped)
    • Tools – pans, graters, whisks, etc.
    • Methods
      • Primary cooking method (e.g. sauté, broil, boil, poach, etc.)
      • (optional) Other cooking methods used (e.g. chop, grate, stir, shake, mince, crush, squeeze, etc.)
    • Steps – parse the directions into a series of steps that each consist of ingredients, tools, methods, and times
  • Ask the user what kind of transformation they want to do.
    • To and from vegetarian (REQUIRED)
    • To and from healthy (REQUIRED)
    • Style of cuisine (AT LEAST ONE REQUIRED) - Mexican
    • Additional Style of cuisine (OPTIONAL) - Indian
    • Double the amount or cut it by half (OPTIONAL)
    • Cooking method (from bake to stir fry, for example) (OPTIONAL)
    • Gluten- or lactose-free (OPTIONAL) - Both gluten and lactose free

Project 2

  • Recipe retrieval and display (see example above, including "Show me the ingredients list");
  • Navigation utterances ("Go back one step", "Go to the next step", "Repeat please", "Take me to the 1st step", "Take me to the n-th step");
  • Vague "how to" questions ("How do I do that?", in which case you can infer a context based on what's parsed for the current step);
  • Specific "how to" questions ("How do I ?");
  • Simple "what is" questions ("What is a ?");
  • Asking about the parameters of the current step ("How much of do I need?", "What temperature?", "How long do I ?", "When is it done?");
  • Ingredient substitution questions ("What can I substitute for ?");
  • Name your bot :) - Recipe ranger

Extra

We made our chat bot voice to text so you can interact with it. This video can be viewed from the google folder linked in the canvas comment. To enable voice to text, navigate to runner.py. On line 281, change voice=False to voice=True.


Authors

By Spencer Rothfleisch, Gabe Bider, Eli Barlow and Isaac Miller

Github Link

View the GitHub Repository here

About

recipe chat bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •  

Languages