Spaces:
Sleeping
Sleeping
File size: 3,674 Bytes
91af6ff b56d187 ed22e00 c8141bc 16298a0 c8141bc 6596303 8da47e3 16298a0 1b87e36 16298a0 c8141bc 16298a0 a9f20b0 16298a0 2850984 16298a0 8849996 ed22e00 16298a0 c8141bc 91af6ff 77ccaac 3912644 efca52e 193d549 ed22e00 91af6ff ed22e00 8a9f359 82b2f12 ed22e00 16298a0 82b2f12 ed22e00 bf41d8e f118c07 16298a0 1fa9027 44aab5f 1fa9027 44aab5f 1fa9027 44aab5f 1fa9027 44aab5f efa5180 16298a0 9b9da5e 16298a0 3912644 9ce8424 |
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
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)
|