Spaces:
Sleeping
Sleeping
from langchain.llms import OpenAI | |
from langchain.prompts import PromptTemplate | |
from langchain.chains import LLMChain | |
from langchain.chains import SequentialChain | |
import os | |
os.environ['OPENAI_API_KEY'] = os.getenv("API_KEY") | |
llm = OpenAI(temperature=0.7) | |
def generate_restaurant_name_and_items(travel_place): | |
# Chain 1: Restaurant Name | |
prompt_template_name = PromptTemplate( | |
input_variables=['travel_place'], | |
template="I want to travel to {travel_place}. Suggest some places to visi with relevant emoji's for each places and description" | |
) | |
name_chain = LLMChain(llm=llm, prompt=prompt_template_name, output_key="places") | |
# Chain 2: Menu Items | |
prompt_template_items = PromptTemplate( | |
input_variables=['travel_place'], | |
template="""Suggest some must try food items at {travel_place}. Return it as a comma separate items with relevant emoji's for food items""" | |
) | |
food_items_chain = LLMChain(llm=llm, prompt=prompt_template_items, output_key="food") | |
# Chain 3: Things to do | |
prompt_template_toDo = PromptTemplate( | |
input_variables=['travel_place'], | |
template="""Suggest Top 10 things to do in {travel_place}. Return with estimated cost and with relevant emoji's for each.""" | |
) | |
todo_items_chain = LLMChain(llm=llm, prompt=prompt_template_toDo, output_key="toDo") | |
chain = SequentialChain( | |
chains=[name_chain, food_items_chain, todo_items_chain], | |
input_variables=['travel_place'], | |
output_variables=['places', 'food', 'toDo'] | |
) | |
response = chain({'travel_place': travel_place}) | |
return response | |
if __name__ == "__main__": | |
print(generate_restaurant_name_and_items("Italian")) | |