ai_buddy / app.py
mrciomnl's picture
first try
8dffd49
raw
history blame
1.94 kB
import openai
import streamlit as st
from openai import OpenAI
import os
# Set OpenAI API Key
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY", "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"))
# Streamlit UI
st.title("AI Text Generator")
st.write("Generate text using OpenAI's language 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:
try:
full_prompt = f"Generate a {tone.lower()} {output_format.lower()} based on: {prompt}"
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": full_prompt}],
temperature=creativity,
max_tokens=max_length,
n=n_responses
)
for i, choice in enumerate(response.choices):
st.subheader(f"Response {i+1}")
st.write(choice.message.content)
except openai.OpenAIError as e:
st.error(f"API Error: {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!")