Spaces:
Sleeping
Sleeping
File size: 2,177 Bytes
9c3c0a3 075a42f 9c3c0a3 1f54101 9c3c0a3 075a42f 9c3c0a3 1f54101 075a42f 1f54101 9c3c0a3 6baa18f 9c3c0a3 6baa18f 9c3c0a3 075a42f 9c3c0a3 075a42f 1f54101 075a42f 9c3c0a3 0be7ffe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import streamlit as st
import pandas as pd
import torch # Ensure PyTorch is imported
from transformers import AutoTokenizer, AutoModelForCausalLM
# Load the Netflix dataset from CSV
@st.cache_data
def load_data():
df = pd.read_csv("https://huggingface.co/spaces/mfraz/Netflix-data/resolve/main/netflix_titles.csv")
df.fillna("N/A", inplace=True) # Replace NaN values with "N/A"
return df
# Load DialoGPT model and tokenizer
@st.cache_resource
def load_model():
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
return tokenizer, model
# Function to search the dataset for movie details
def search_movie_details(query, data):
query = query.lower()
# Filtering: Ensure column names exist and search query is in title, cast, or director
results = data[
data["title"].str.lower().str.contains(query, na=False) |
data["cast"].str.lower().str.contains(query, na=False) |
data["director"].str.lower().str.contains(query, na=False)
]
return results
# Streamlit App
st.title("Netflix Movies 🎬")
# Load dataset and model
data = load_data()
tokenizer, model = load_model()
# User Input (Only Text)
user_input = st.text_input("Enter the movie name, director, or cast:")
# Generate response
if user_input:
movie_results = search_movie_details(user_input, data)
if not movie_results.empty:
st.write("Here are the matching results:")
for _, row in movie_results.iterrows():
st.write(f"**Title:** {row['title']}")
st.write(f"**Type:** {row['type']}")
st.write(f"**Director:** {row['director']}")
st.write(f"**Cast:** {row['cast']}")
st.write(f"**Release Year:** {row['release_year']}")
st.write(f"**Country:** {row['country']}") # ✅ Now displays Country correctly
st.write(f"**Rating:** {row['rating']}")
st.write(f"**Description:** {row['description']}")
st.write("---")
else:
st.write("**I have no data about this movie. Please search another movie.**")
|