d221's picture
Upload 6 files
75a787e verified
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(
"""<style>
.css-1oe6wy4, .css-1y4p8pa {
background-color: #f8f9fa;
border-radius: 15px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.css-1v0mbdj {
background-color: #ffffff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
</style>
""",
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()