import os import gradio as gr from langchain.chains import LLMChain, SequentialChain from langchain.prompts import PromptTemplate from langchain.llms import OpenAI # Set your OpenAI API Key os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY") llm = OpenAI(temperature=0.9) # Chain 1: Restaurant Name prompt_template_name = PromptTemplate( input_variables=['cuisine'], template="I want to open a restaurant for {cuisine} food. Suggest a fancy name for this." ) name_chain = LLMChain(llm=llm, prompt=prompt_template_name, output_key="restaraunt_name") # Chain 2: Menu Items prompt_template_items = PromptTemplate( input_variables=['restaraunt_name'], template="Suggest me some menu items for {restaraunt_name}." ) food_items_chain = LLMChain(llm=llm, prompt=prompt_template_items, output_key="menu_items") # Combine into SequentialChain chain = SequentialChain( chains=[name_chain, food_items_chain], input_variables=['cuisine'], output_variables=['restaraunt_name', 'menu_items'] ) # Gradio interface def generate_restaurant_info(cuisine): result = chain({'cuisine': cuisine}) return result['restaraunt_name'], result['menu_items'] iface = gr.Interface( fn=generate_restaurant_info, inputs=gr.Textbox(label="Enter Cuisine"), outputs=[ gr.Textbox(label="Restaurant Name"), gr.Textbox(label="Menu Items") ], title="Restaurant & Menu Generator", description="Powered by LangChain + OpenAI" ) iface.launch()