rohitmsan's picture
Update app.py
18dce3e verified
import gradio as gr
from data_loader import DataLoader
from recommender import RecommenderService
def recommender_pipeline(dataset_path, book_name):
loader = DataLoader(dataset_path)
data = loader.load_data()
recommender_service = RecommenderService(data)
recommendations = recommender_service.recommend_books(book_name)
return "\n".join(recommendations)
with gr.Blocks() as demo:
with gr.Row():
with gr.Column():
book_name_input = gr.Textbox(label="Enter a Book Title", placeholder="Type the book name...")
dataset_path_input = gr.Textbox(label="Dataset Path", placeholder="Enter path to dataset", value="books_summary.csv")
submit_btn = gr.Button(value="Get Recommendations")
with gr.Column():
# Output for the recommended books
recommendations_output = gr.Textbox(label="Recommended Books", interactive=False)
submit_btn.click(
recommender_pipeline, inputs=[dataset_path_input, book_name_input], outputs=[recommendations_output]
)
examples = gr.Examples(
examples=[
["The Alchemist"],
["The Seven Principles For Making Marriage Work"],
["The Pragmatist’s Guide To Relationships"]
],
inputs=[book_name_input],
)
if __name__ == "__main__":
demo.launch(show_api=False)