import os import streamlit as st import openai # Load API key securely from environment variables or Streamlit secrets openai.api_key = os.getenv("OPENAI_API_KEY", st.secrets.get("OPENAI_API_KEY")) # Function to generate AI response def call_openai_api(prompt, model, max_tokens, temperature): try: response = openai.ChatCompletion.create( model=model, messages=[{"role": "user", "content": prompt}], max_tokens=max_tokens, temperature=temperature ) return response["choices"][0]["message"]["content"] except Exception as e: return f"Error: {str(e)}" # Streamlit UI st.set_page_config(page_title="AI-Powered Text Generator", layout="centered") st.title("📝 AI-Powered Text Generation") st.write("Generate text with AI by providing a prompt below!") # User input fields user_input = st.text_area("Enter your prompt here:", height=150) col1, col2 = st.columns(2) with col1: model = st.selectbox("Choose AI Model:", ["gpt-3.5-turbo", "gpt-4"]) max_tokens = st.slider("Max Tokens (Word Length)", min_value=50, max_value=500, value=200, step=50) with col2: temperature = st.slider("Creativity Level (0 = Predictable, 1 = Creative)", min_value=0.0, max_value=1.0, value=0.7, step=0.1) # Generate button if st.button("Generate Text"): if user_input.strip(): st.subheader("Generated Response:") result = call_openai_api(user_input, model, max_tokens, temperature) st.write(result) else: st.warning("⚠️ Please enter a prompt before generating text.") # Footer st.markdown("---") st.markdown("🔹 *Powered by OpenAI GPT* | 🔹 *Developed with Streamlit*")