ARTURART's picture
Create app.py
d2dda6b verified
raw
history blame
2.01 kB
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}]
)
# Retorna o conteúdo gerado pelo modelo
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)