Spaces:
Sleeping
Sleeping
import streamlit as st | |
import openai | |
# OpenAI API key | |
openai.api_key = st.secrets ["openai"] ["api_key"] | |
# Page Title | |
st.title("LemmaTeks: AI-Powered Text Generator") | |
# Sidebar for Settings | |
with st.sidebar: | |
st.header("Configuration") | |
# Dropdown for Output Format | |
output_format = st.selectbox( | |
"Choose Output Format:", | |
["Story", "Poem", "Article", "Code"] | |
) | |
# Dropdown for Tone/Style | |
tone_style = st.selectbox( | |
"Select Tone/Style:", | |
["Formal", "Informal", "Humorous", "Technical"] | |
) | |
# Sliders for Text Length and Creativity | |
text_length = st.slider("Text Length (words):", min_value=50, max_value=1000, step=50) | |
creativity_level = st.slider("Creativity Level:", min_value=0.0, max_value=1.0, step=0.1) | |
# Number of Responses | |
num_responses = st.number_input("Number of Responses:", min_value=1, max_value=5, step=1) | |
# Checkboxes for Features | |
creative_mode = st.checkbox("Enable Creative Mode") | |
fact_checking = st.checkbox("Enable Fact-Checking") | |
# Text Input Field | |
user_prompt = st.text_area("Enter Your Prompt Here:") | |
# Submit Button | |
if st.button("Generate"): | |
if user_prompt.strip() == "": | |
st.warning("Please enter a prompt before generating!") | |
else: | |
# Process AI Request | |
st.write("Generating responses...") | |
try: | |
# OpenAI API call | |
response = openai.Completion.create( | |
engine="text-davinci-003", # GPT-3.5 engine | |
prompt=f"Format: {output_format}\nTone: {tone_style}\nPrompt: {user_prompt}", | |
max_tokens=text_length, # Approximate word count | |
temperature=creativity_level, # Creativity level | |
n=num_responses # Number of responses | |
) | |
# Display Responses | |
for i, choice in enumerate(response.choices): | |
st.subheader(f"Response {i + 1}") | |
st.write(choice.text.strip()) | |
except openai.error.OpenAIError as e: | |
st.error(f"An error occurred: {e}") | |