Spaces:
Sleeping
Sleeping
| import os | |
| import gradio as gr | |
| import google.generativeai as genai | |
| # Configure the Gemini API with environment variable | |
| GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") | |
| if not GOOGLE_API_KEY: | |
| raise ValueError("GOOGLE_API_KEY environment variable not set. Please configure it in the Hugging Face Space settings.") | |
| genai.configure(api_key=GOOGLE_API_KEY) | |
| # Use Gemini 1.5 Flash model | |
| model = genai.GenerativeModel('gemini-1.5-flash-latest') | |
| def sentiment_analysis(text): | |
| if not text.strip(): | |
| return "Error: Please enter a non-empty text for analysis." | |
| prompt = f""" | |
| Analyze the sentiment of the following text and respond in this format: | |
| Sentiment: [Positive / Negative / Neutral] | |
| Reason: [Brief explanation of why you classified it this way] | |
| Text: \"{text}\" | |
| """ | |
| try: | |
| response = model.generate_content(prompt) | |
| return response.text.strip() | |
| except Exception as e: | |
| return f"Error: {str(e)}\nTip: Ensure your API key is valid at https://aistudio.google.com/" | |
| # Define Gradio interface | |
| iface = gr.Interface( | |
| fn=sentiment_analysis, | |
| inputs=gr.Textbox(lines=5, placeholder="Enter text for sentiment analysis...", label="Text Input"), | |
| outputs=gr.Textbox(label="Sentiment Analysis Result"), | |
| title="Gemini Sentiment Analyzer", | |
| description="Enter text to analyze its sentiment using Google's Gemini 1.5 Flash model. Provide a valid GOOGLE_API_KEY in the Hugging Face Space settings." | |
| ) | |
| # Launch the interface | |
| if __name__ == "__main__": | |
| iface.launch() |