File size: 1,704 Bytes
07de355
 
 
 
5d3aa2a
 
07de355
5d3aa2a
 
07de355
5d3aa2a
 
 
 
 
 
 
07de355
5d3aa2a
07de355
5d3aa2a
 
07de355
5d3aa2a
 
07de355
5d3aa2a
 
07de355
5d3aa2a
07de355
5d3aa2a
 
 
07de355
5d3aa2a
 
07de355
5d3aa2a
07de355
5d3aa2a
 
 
 
07de355
5d3aa2a
07de355
5d3aa2a
07de355
5d3aa2a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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*")