Spaces:
Runtime error
Runtime error
| import pandas as pd | |
| from langchain_groq import ChatGroq | |
| from langchain_experimental.agents.agent_toolkits import create_csv_agent | |
| import gradio as gr | |
| # Reading a CSV file | |
| csv_file_path = 'final_dataset.csv' | |
| df_csv = pd.read_csv(csv_file_path) | |
| # Initialize the Groq API and the LLM | |
| groq_api = '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' | |
| llm = ChatGroq(temperature=0, model="llama3-70b-8192", api_key=groq_api) | |
| # Create the CSV agent | |
| agent = create_csv_agent(llm, csv_file_path, verbose=True, allow_dangerous_code=True, handle_parsing_errors=True) | |
| # Function to query data | |
| def query_data(query): | |
| response = agent.invoke(query) | |
| return response | |
| # Function for Gradio interface | |
| def get_recommendations(user_query): | |
| additional_query = '''If you can't find the exact response from the dataframe, you can give the responses similar to the query. | |
| If you recommend some places, give their descriptions too in a paragraph. | |
| While giving descriptions, give from the reviews of that place in more than 30 words. | |
| If there are 'hotels' in the query, recommend hotels only not the restaurants and adventures. And same for other place types. | |
| Give their revel ratings too. | |
| Don't try give the descriptions that are not provided in the dataframe. | |
| Try to minimize giving the same descriptions for more than one places. ''' | |
| full_query = f"{user_query} {additional_query}" | |
| response = query_data(full_query) | |
| return response['output'] | |
| # Create Gradio interface | |
| iface = gr.Interface( | |
| fn=get_recommendations, | |
| inputs=gr.Textbox(label="Ask your query about hotels:", placeholder="Type your query here..."), | |
| outputs=gr.Textbox(label="Response will appear here."), | |
| title="Hotel and Restaurant Recommendation System", | |
| description="Ask for recommendations based on the data in the CSV file." | |
| ) | |
| # Launch the Gradio app | |
| iface.launch(share=True) | |