BTRUE_BOT / app.py
pedromsfaria's picture
Update app.py
8da47e3
raw
history blame
3.67 kB
import os
import openai
import gradio as gr
# Configurar a chave da API OpenAI
openai.api_key = os.environ['OPENAI_API_KEY']
# Mensagens iniciais para diferentes instâncias
initial_messages1 = [
{
"role": "system",
"content": "Por favor, divide a transcrição da conversa por interveniente, apresentando-a de forma sequencial. "
}
]
initial_messages2 = [
{
"role": "system",
"content": "Avalie as emoções expressas pelos intervenientes durante a conversa."
}
]
initial_messages3 = [
{
"role": "system",
"content": "Crie um relatório detalhado com base na transcrição que possa ser incluído num relatório médico para a seguradora. inclui todos os detalhes relevantes para que o relatório contenha tudo que a seguradora necessita, para avaliar o incidente."
}
]
initial_messages4 = [
{
"role": "system",
"content": "Existe algum vestígio de decepção na conversa? Se sim, por favor, identifique. No final da-me uma analise de emoções, verbosidade, tudo o que achares pertinente sobre a transcrição."
}
]
messages1 = initial_messages1.copy()
messages2 = initial_messages2.copy()
messages3 = initial_messages3.copy()
messages4 = initial_messages4.copy()
# Função para interagir com a API OpenAI
def openai_create(user_input, messages):
messages.append({"role": "user", "content": user_input})
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo-16k",
messages=messages,
temperature=0.5,
top_p=1,
frequency_penalty=0,
presence_penalty=0.6,
stop=[" Human:", " AI:"]
)
ChatGPT_reply = response["choices"][0]["message"]["content"]
messages.append({"role": "assistant", "content": ChatGPT_reply})
return ChatGPT_reply
# Função para lidar com o envio de mensagens
def chatgpt_clone(input, history1, history2, history3, history4):
history1 = history1 or []
history2 = history2 or []
history3 = history3 or []
history4 = history4 or []
output1 = openai_create(input, messages1)
history1.append((input, output1))
output2 = openai_create(input, messages2)
history2.append((input, output2))
output3 = openai_create(input, messages3)
history3.append((input, output3))
output4 = openai_create(input, messages4)
history4.append((input, output4))
return history1, history2, history3, history4
# Configuração da interface
with gr.Blocks(css=".gradio-container {background: #1A1A2E; color: white;}") as block:
gr.Markdown('<h1 style="color: white;"><center>BTrue - Parceiro AI</center></h1>')
message = gr.Textbox(placeholder="Escreve a tua mensagem aqui...", lines=6)
submit = gr.Button("Enviar", background="#000080")
state1 = gr.State()
state2 = gr.State()
state3 = gr.State()
state4 = gr.State()
chatbot1 = gr.Chatbot(
show_copy_button=True,
show_share_button=True,
height=550,
label="Transcrição Intervinientes"
)
chatbot2 = gr.Chatbot(
show_copy_button=True,
show_share_button=True,
height=550,
label="Emoções"
)
chatbot3 = gr.Chatbot(
show_copy_button=True,
show_share_button=True,
height=550,
label="Relatório"
)
chatbot4 = gr.Chatbot(
show_copy_button=True,
show_share_button=True,
height=550,
label="Decepção"
)
submit.click(chatgpt_clone, inputs=[message, state1, state2, state3, state4], outputs=[chatbot1, chatbot2, chatbot3, chatbot4])
block.launch(inline=False)