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('

BTrue - Parceiro AI

') 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)