File size: 2,070 Bytes
ed17b83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import os
import openai
import streamlit as st
from dotenv import load_dotenv


openai.api_key = st.secrets["open_ai_key"]
MODEL = st.secrets["MODEL"]

# Load environment variables from .env file
load_dotenv()
# Set up OpenAI API Key
openai.api_key = os.getenv("open_ai_key")
MODEL = os.getenv("MODEL")


def generate_linkedin_post(prompt: str) -> str:
    """Generate a Intriguing LinkedIn post based on the user's prompt using OpenAI."""

    response = openai.ChatCompletion.create(
        model= MODEL,
        messages=[
            {
                "role": "user",
                "content": prompt
            }
        ],
        temperature=0.5,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0
    )

    assistant_response = response['choices'][0]['message']['content']
    return assistant_response

# Streamlit UI
st.title("LinkedIn Post Generator Assistant")

# Initial conversation
st.write("AI: Hi! Let's create a LinkedIn post. What's the main topic or achievement you'd like to share?")
topic = st.text_input("You:")

if topic:
    detail_prompt = f"Can you provide more details about the {topic}?"
    st.write(f"AI: {detail_prompt}")
    detail = st.text_input("You (Detail about the topic):")

    if detail:
        initial_prompt = f" Generate a Intriguing LinkedIn post based on the {topic}. {detail}."
        post = generate_linkedin_post(initial_prompt)

        st.write(f"AI: Here's your LinkedIn post based on your input:")
        st.text_area("Generated LinkedIn Post:", post)

        st.write("AI: How would you like to modify or refine the post?")
        feedback = st.text_input("You (Feedback on the post):")

        if feedback:
            revised_prompt = f"{initial_prompt}. However, {feedback}"
            revised_post = generate_linkedin_post(revised_prompt)
            st.write(f"AI: Based on your feedback, here's the revised post:")
            st.text_area("Revised LinkedIn Post:", revised_post)
            st.write("AI: Feel free to provide more feedback or post it directly on LinkedIn!")