recipes_app / app.py
adrianpierce's picture
Create app.py
fd07ca2
raw
history blame
No virus
2.42 kB
import numpy as np
import pandas as pd
import re
import json
import openai
openai.api_key = st.secrets["open_ai_key"]
user_direction = st.text_area(
"Let's get cooking! What are you in the mood for?",
value="quick snack, asian style bowl with either noodles or rice, chocolate indulgence, etc.",
)
serving_size = st.number_input(
"How many people are you cooking for?",
min_value=1,
max_value=100,
value=2,
step=1
)
difficulty = st.radio(
"Choose a difficulty level for your recipe.",
["Beginner", "Home Chef", "Professional"],
captions = [
"Easy recipes with straightforward instructions. Ideal for first-timers or those seeking quick and simple cooking.",
"Recipes with some intricate steps that invite a little challenge. Perfect for regular cooks wanting to expand their repertoire with new ingredients and techniques.",
"Complex recipes that demand a high level of skill and precision. Suited for seasoned cooks aspiring to professional-level sophistication and creativity."
])
user_inputs = {
"user_direction" : user_direction,
"exclusions": "gluten, dairy",
"serving_size": 4,
"difficulty": "easy"
}
# define GPT agents
def generate_recipe(text):
context = """Provide me a recipe based on the below user input. The recipe output should contain the following components:
- recipe name
- serving size
- time to make
- ingredients list
- instructions
Output this in a valid JSON object with the following properties:
recipe_name (string): the name of the recipe
recipe_serving_size (string): the serving size of the recipe (example: "Serving Size: 4 people")
recipe_time (string): the amount of time required to make the recipe (example: "Time to Make: 60 minutes (Preparation: 20 minutes, Baking: 40 minutes)")
recipe_ingredients (string): python list of ingredients required to make the recipe
recipe_instructions (string): python list of instructions to make the recipe
"""
messages = [
{"role": "system", "content": context},
{"role": "user", "content": text}
]
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages,
temperature=0.2
)
response_message = response["choices"][0]["message"]
return json.loads(response_message["content"])
#generate_recipe(str(user_inputs))