Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import os | |
| import google.generativeai as genai | |
| from dotenv import load_dotenv | |
| # # Load API key from .env file | |
| # load_dotenv() | |
| # genai.configure(api_key=os.getenv("GEMINI_API_KEY")) | |
| # Retrieve API key from Hugging Face Secrets | |
| api_key = os.getenv("GEMINI_API_KEY") | |
| if not api_key: | |
| raise ValueError("API key not found. Make sure it is set in Hugging Face Secrets.") | |
| # Configure Gemini API | |
| genai.configure(api_key=api_key) | |
| # Title of the app | |
| st.title("KAI Chat") | |
| st.markdown("Hi! I'm your Kool-AI Assistant! Start by entering text and adjust to generate text in your desired format, style, and length.") | |
| # Input fields for user | |
| core_topic = st.text_area("Enter your topic or text here:", height=150, placeholder="e.g., Climate change, AI advancements, etc.") | |
| output_format = st.selectbox("Select the output format:", ["Story", "Poem", "Article", "Code"]) | |
| tone_style = st.selectbox("Choose the tone or style for the text:", ["Formal", "Informal", "Humorous", "Technical"]) | |
| length = st.slider("Choose the length of the generated text:", 50, 1000, 200, help="Shorter texts are ideal for quick summaries; longer ones for more detailed results.") | |
| creativity = st.slider("Select creativity level (1 to 10):", 1, 10, 5, help="1 is less creative, 10 is highly creative.") / 10 # Scale down to 0.1 - 1.0 | |
| num_responses = st.radio("How many responses would you like to generate?", [1, 2, 3], help="Choose the number of different responses you'd like to receive.") | |
| # Button for generating text | |
| if st.button("Generate Text"): | |
| if core_topic.strip() == "": | |
| st.warning("Please enter a topic to get started!") | |
| else: | |
| try: | |
| with st.spinner('Generating content...'): | |
| model = genai.GenerativeModel("gemini-pro") | |
| response = model.generate_content( | |
| contents=f"Write a {tone_style.lower()} {output_format.lower()} about {core_topic}", | |
| generation_config=genai.GenerationConfig( | |
| max_output_tokens=length | |
| ) | |
| ) | |
| # Display the generated content | |
| st.subheader("Generated Text:") | |
| st.write(response.text) | |
| except Exception as e: | |
| st.error(f"Oops! Something went wrong: {e}") | |