ai_buddy / app.py
mrciomnl's picture
Update app.py
d706a65 verified
import google.generativeai as genai
import streamlit as st
import os
api_key = st.secrets["GCP_API_KEY"]
if not api_key:
st.error("API key is missing. Set GCP_API_KEY as an environment variable.")
st.stop()
# Configure Gemini API
genai.configure(api_key=api_key)
# Streamlit UI
st.title("AI Buddy with Gemini")
st.write("Generate text using Google's Gemini AI model.")
# User Inputs
prompt = st.text_area("Enter your prompt:", "Once upon a time...")
output_format = st.selectbox("Select Output Format:", ["Story", "Poem", "Article", "Code"])
tone = st.selectbox("Select Tone:", ["Formal", "Informal", "Humorous", "Technical"])
creativity = st.slider("Creativity Level (Temperature):", 0.0, 1.0, 0.7)
max_length = st.slider("Max Response Length:", 50, 1000, 500)
n_responses = st.number_input("Number of Responses:", 1, 5, 1)
creative_mode = st.checkbox("Enable Creative Mode")
if st.button("Generate Text"):
if not prompt.strip():
st.error("Please enter a prompt.")
else:
full_prompt = f"{prompt}\n\nFormat: {output_format}\nTone: {tone}\nCreative Mode: {creative_mode}"
try:
model = genai.GenerativeModel("gemini-pro") # Use the latest Gemini model
response = model.generate_content(
full_prompt,
generation_config=genai.types.GenerationConfig(
temperature=creativity, # Now correctly used inside generation_config
max_output_tokens=max_length
)
)
st.subheader("Generated Response")
st.write(response.text)
except Exception as e:
st.error(f"An error occurred: {e}")
# Feedback Section
st.subheader("Feedback")
feedback = st.radio("Was this response helpful?", ("Yes", "No"))
if feedback == "No":
st.text_area("What could be improved?")
st.write("Thank you for using the AI Text Generator!")