File size: 2,006 Bytes
d2dda6b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4236a48
 
d2dda6b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 streamlit as st
from streamlit_chat import message as st_message
from g4f.client import Client

# Inicializa o cliente do modelo
client = Client()

# Função para gerar temas
def gerar_temas(papel, quantidade, tipo_conteudo, publico_alvo, tema_topico):
    prompt = f"""
    Atue como {papel}. Sua tarefa é sugerir {quantidade} temas para {tipo_conteudo}, considerando as seguintes exigências:

    O tema deve ser relevante para o público-alvo: {publico_alvo}.
    Deve abordar uma tendência ou problema atual relacionado a {tema_topico}.

    Inclua uma breve descrição sobre cada tema sugerido, explicando a relevância e como pode agregar valor ao público.
    """
    
    # Gera a resposta do modelo
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}]
    )
    
    # Acessa a mensagem de resposta diretamente
    return response.choices[0].message.content

# Título da aplicação
st.title("Gerador de Temas com GPT")

# Formulário para inserir os parâmetros
with st.form(key="parametros_form"):
    st.subheader("Preencha os detalhes para gerar temas:")
    
    papel = st.text_input("Papel", "especialista em marketing digital")
    quantidade = st.number_input("Quantidade de Temas", min_value=1, max_value=10, value=5)
    tipo_conteudo = st.text_input("Tipo de Conteúdo", "artigos de blog")
    publico_alvo = st.text_input("Público-Alvo", "empreendedores digitais")
    tema_topico = st.text_input("Tendência ou Tópico", "inovações tecnológicas")
    
    submit_button = st.form_submit_button(label="Gerar Temas")

# Gera os temas quando o botão for pressionado
if submit_button:
    with st.spinner("Gerando temas..."):
        temas_gerados = gerar_temas(papel, quantidade, tipo_conteudo, publico_alvo, tema_topico)

    # Exibe os temas gerados usando o ChatMessage
    st_message(f"Temas sugeridos para {tipo_conteudo}:", is_user=True)
    st_message(temas_gerados, is_user=False)