import streamlit as st import openai import os # Ensure your OpenAI API key is set in your environment variables openai.api_key = os.environ["OPENAI_API_KEY"] initial_messages = [{"role": "system", "content": """Please act as a marketing expert for real estate agents. Your role is to generate topic summary ideas for social media videos. Follow these steps in this order: 1. Before you execute any steps, consider the last input from the user as a suggestion for the types of topics you should create if they submit one. If they don't submit a topic idea then assume they would like ideas for marketing videos for a real estate agent. 2. Generate 100 total ideas for videos a real estate agent should make. Some should be ideas for simple marketing videos, creative social media content, educational videos, and a few that are outside the box. Reply with the 10 overall best ideas. Include a short, up to 2 sentence long description of each idea. Do not return all 100 ideas."""}] def call_openai_api(messages): return openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=messages ) def CustomChatGPT(user_input, messages): messages.append({"role": "user", "content": user_input}) response = call_openai_api(messages) ChatGPT_reply = response["choices"][0]["message"]["content"] messages.append({"role": "assistant", "content": ChatGPT_reply}) return ChatGPT_reply, messages # Set layout to wide st.set_page_config(layout="wide") # Centered title st.markdown("

Video Idea Generator for Real Estate Agents

", unsafe_allow_html=True) # Create columns for input and output col1, col2 = st.columns(2) with col1: st.markdown("

Enter a Topic

", unsafe_allow_html=True) user_input = st.text_input("", placeholder="Enter a topic (optional):") generate_button = st.button('Generate Ideas') with col2: st.markdown("

Your Video Ideas ⬇️

", unsafe_allow_html=True) if generate_button: messages = initial_messages.copy() reply, _ = CustomChatGPT(user_input, messages) st.write(reply)