import streamlit as st from post_generator import * # Options for length and language length_options = ["Short", "Medium", "Long", "Extra Long"] language_options = ["English", "Hinglish"] def main(): st.title("🕵️ LinkedIn Content Generator") st.markdown( """ """, unsafe_allow_html=True, ) st.markdown("**The code replicates the writing style of the selected author and generates posts accordingly. You can customize the raw data to match any author of your choice.**") st.markdown("**Using meta models via Groq API and Prompt Engineering**") st.markdown("---") # ---- SIDEBAR FOR LLM MODEL SELECTION ---- st.sidebar.header("LLM Settings") llm_options = [ "llama-3.3-70b-versatile", "llama-3.2-1b-preview", "llama-3.2-3b-preview", "llama-3.3-70b-specdec", "llama-3.1-8b-instant", "llama-guard-3-8b", "llama3-70b-8192", "llama3-8b-8192" ] selected_llm = st.sidebar.selectbox("Select LLM", options=llm_options) # ---- CHOOSE POST PARAMETERS ---- st.header("Choose Post Parameters") fs = FewShotPosts() tags = fs.get_tags() # 1) Topic Selector selected_tag = st.selectbox("Select a Topic", options=tags) # 2) Additional Knowledge (Tile Below Topic) # This text area will feed extra context to the LLM about the selected topic st.subheader("Add Additional Knowledge") additional_context = st.text_area( "Enter any extra details or knowledge about the topic that the model should consider.", placeholder="e.g., special data points, new trends, or context you want to include..." ) # 3) Length and Language col1, col2 = st.columns([1, 1]) with col1: selected_length = st.selectbox("Select Length", options=length_options) with col2: selected_language = st.selectbox("Select Language", options=language_options) st.markdown("---") st.header("Generate Post") # Generate Button and Display if st.button("Generate"): # Pass additional_context into generate_post post = generate_post( length=selected_length, language=selected_language, tag=selected_tag, model_name=selected_llm, custom_context=additional_context ) st.write(post) else: st.write("Click the button above to generate a LinkedIn post.") st.markdown("---") if __name__ == "__main__": main()