import gradio as gr import streamlit as st import socket try: from transformers import pipeline except ImportError as e: st.error(f"ImportError: {e}") st.stop() # Load the pre-trained sentiment-analysis pipeline try: classifier = pipeline('sentiment-analysis') except Exception as e: st.error(f"Error loading pipeline: {e}") st.stop() # Function to classify sentiment def classify_text(text): try: result = classifier(text)[0] return f"{result['label']} with score {result['score']}" except Exception as e: return f"Error classifying text: {e}" # Function to find an available port def find_free_port(): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind(('', 0)) return s.getsockname()[1] # Find an available port port = find_free_port() # Launch the Gradio interface on the dynamically found port iface = gr.Interface(fn=classify_text, inputs="text", outputs="text") iface.launch(server_port=port) # Streamlit code st.title('IMDb Sentiment Analysis') st.write('This project performs sentiment analysis on IMDb movie reviews using Streamlit.')