AgentChef / app.py
ParthBhuptani's picture
Update app.py
50f2321 verified
import gradio as gr
import requests
NEBIUS_API_KEY = "NEBIUS_API_KEY"
FOLDER_ID = "FOLDER_ID"
def generate_recipe(dietary_pref, ingredients):
input_text = f"Create a recipe using these ingredients: {ingredients}. It should be {dietary_pref}."
headers = {
"Authorization": f"Api-Key {NEBIUS_API_KEY}",
"Content-Type": "application/json"
}
body = {
"folderId": FOLDER_ID,
"texts": [input_text],
"model": "yandex-lite",
"temperature": 0.6,
"maxTokens": "2000"
}
try:
response = requests.post(
"https://llm.api.cloud.yandex.net/foundationModels/v1/textCompletion",
headers=headers,
json=body
)
print("RAW RESPONSE:", response.text)
if response.status_code == 200:
result = response.json()
return result["result"]["alternatives"][0]["text"]
else:
return f"API Error {response.status_code}: {response.text}"
except Exception as e:
return f"❌ Error: {e}"
with gr.Blocks(theme=gr.themes.Soft()) as demo:
gr.Markdown("🍳 **AgentChef: AI Recipe Planner & Smart Kitchen Assistant**")
with gr.Row():
dietary = gr.Dropdown(
label="Dietary Preferences",
choices=["Vegetarian", "Non-Vegetarian", "Vegan", "Keto", "Other"],
value="Vegetarian"
)
ingredients = gr.Textbox(
label="Ingredients Available",
placeholder="e.g., tomato, onion, garlic, paneer..."
)
submit = gr.Button("🍽️ Generate Recipe")
recipe_output = gr.Textbox(label="AI-Generated Recipe", lines=10)
submit.click(fn=generate_recipe, inputs=[dietary, ingredients], outputs=recipe_output)
demo.launch()