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()