pedromsfaria commited on
Commit
515c8bd
·
1 Parent(s): 15699bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -39
app.py CHANGED
@@ -22,8 +22,7 @@ messages = [
22
  "simples. Continua a fazer perguntas até obteres um pré-diagnóstico com "
23
  "uma probabilidade superior a 95%, fornecendo uma lista de possibilidades "
24
  ". É critico que des uma lista de possibilidades, "
25
- "não dés percentagens de provabilidade, diz qual é a mais provavel"
26
- "e que continues a fazer perguntas até teres "
27
  "um resultado satisfatório. Sempre que fores encaminhar o paciente para "
28
  "serviços médicos, sugere que te visite na TrueClinic ou contacte a "
29
  "TrueClinic pelo número 808919988 para aconselhamento adicional. "
@@ -44,20 +43,15 @@ messages = [
44
  ),
45
  }
46
  ]
47
- prompt1 = "Olá eu sou o TrueBot AI, o chatbot amigável da True Clinic.\nPara começarmos a fazer o dianóstico, por favor, diz que idade tens e o teu sexo.\nEx: sou homem e tenho 31 anos"
48
- prompt2 = "Agora, por favor, escreve o sintoma principal.\nHuman: Doi-me a cabeça.\nAI: Quando começou a doer a cabeça? Pode elaborar?"
49
- prompt3 = "E agora diz me os sintomas secundários.\nDescreve o mais que possas o que sentes e o que estás a sentir.\nHuman: Doi-me a cabeça. Começou à cerca de um mês quando comecei a dormir muito mal."
50
- prompt4 = "Tomas algum medicamento ou tens uma condição crónica?\nHuman: Tomo aspirina tomos os dias e Xanax de manhã.\n"
51
- prompt5 = "Fizeste algum exame imagiolõgico ultimamente? Se sim diz-me as condições, quanto mais informações melhor consigo ajudar.\nHuman: Sim fiz uma radiografia. Não mostrou nada de relevo"
52
- prompt = "Coloca aqui tudo o que quiseres a mais\nHuman: Já ando assim à bastante tempo, etc."
53
 
54
  def openai_create(user_input):
55
  messages.append({"role": "user", "content": user_input})
56
  response = openai.ChatCompletion.create(
57
- model = "gpt-3.5-turbo",
58
  messages = messages,
59
  #prompt=prompt,
60
- temperature=0.2,
61
  top_p=1,
62
  frequency_penalty=0,
63
  presence_penalty=0.6,
@@ -69,32 +63,16 @@ def openai_create(user_input):
69
 
70
 
71
 
72
- def chatgpt_clone(age_sex, main_symptom, secondary_symptoms, medication_chronic, imaging_tests, additional_info, state):
73
- history = []
74
- age_sex = "Eu tenho " + age_sex
75
  s = list(sum(history, ()))
76
- s.append(age_sex)
77
- s = list(sum(history, ()))
78
- s.append(main_symptom)
79
- s = list(sum(history, ()))
80
- s.append(secondary_symptoms)
81
- s = list(sum(history, ()))
82
- s.append(medication_chronic)
83
- s = list(sum(history, ()))
84
- s.append(imaging_tests)
85
- s = list(sum(history, ()))
86
- s.append(additional_info)
87
  inp = ' '.join(s)
88
  output = openai_create(inp)
89
  history.append((input, output))
90
- print("Updated chat history:", history)
91
- # Clear the message box
92
- message = ""
93
- print(message)
94
-
95
  return history, history
96
 
97
-
98
 
99
 
100
  block = gr.Blocks(css=".gradio-container {background: url('file=fundo.jpg'); background-size: contain;}")
@@ -106,18 +84,16 @@ with block:
106
  gr.Markdown("""<h3 style="color: #ffffff; font-weight: bold;"><center> </center></h3>""")
107
 
108
  chatbot = gr.Chatbot()
109
- message1 = gr.Textbox(placeholder="Coloque aqui a sua idade e sexo. Ex: sou homem e tenho 31 anos", label="Idade e Sexo")
110
- message2 = gr.Textbox(placeholder="Agora, por favor, escreve o sintoma principal.", label="Sintoma principal")
111
- message3 = gr.Textbox(placeholder="E agora diz me os sintomas secundários. Descreve o mais que possas o que sentes e o que estás a sentir.", label="Sintomas secundários e descrição")
112
- message4 = gr.Textbox(placeholder="Tomas algum medicamento ou tens uma condição crónica?", label="Medicamentos e Doenças Crónicas")
113
- message5 = gr.Textbox(placeholder="Fizeste algum exame imagiológico ultimamente? Se sim diz-me as condições, quanto mais informações melhor consigo ajudar.", label="Exames imagiológicos")
114
- additional_message = gr.Textbox(placeholder="Coloca aqui tudo o que quiseres a mais.", label="Informações adicionais")
115
  examples=[
116
  ["Doi-me a cabeça!"],
117
  ["Tenho febre, podes ajudar?."],
118
  ],
119
  state = gr.State()
120
- submit = gr.Button("Enviar")
121
- submit.click(chatgpt_clone, inputs=[message1, message2, message3, message4, message5, additional_message, state], outputs=[chatbot, state])
122
-
 
 
 
123
  block.launch(inline=False)
 
22
  "simples. Continua a fazer perguntas até obteres um pré-diagnóstico com "
23
  "uma probabilidade superior a 95%, fornecendo uma lista de possibilidades "
24
  ". É critico que des uma lista de possibilidades, "
25
+ "percentagens de provabilidade e que continues a fazer perguntas até teres "
 
26
  "um resultado satisfatório. Sempre que fores encaminhar o paciente para "
27
  "serviços médicos, sugere que te visite na TrueClinic ou contacte a "
28
  "TrueClinic pelo número 808919988 para aconselhamento adicional. "
 
43
  ),
44
  }
45
  ]
46
+ prompt = "Olá eu sou o TrueBot AI, o chatbot amigável da True Clinic.\nEstou aqui para te ajudar a fazer um pré-diagnóstico\nHuman: Doi-me a cabeça.\nAI: Quando começou a doer a cabeça? Pode elaborar?"
 
 
 
 
 
47
 
48
  def openai_create(user_input):
49
  messages.append({"role": "user", "content": user_input})
50
  response = openai.ChatCompletion.create(
51
+ model = "gpt-4",
52
  messages = messages,
53
  #prompt=prompt,
54
+ temperature=0.0,
55
  top_p=1,
56
  frequency_penalty=0,
57
  presence_penalty=0.6,
 
63
 
64
 
65
 
66
+ def chatgpt_clone(input, history):
67
+ history = history or []
 
68
  s = list(sum(history, ()))
69
+ s.append(input)
 
 
 
 
 
 
 
 
 
 
70
  inp = ' '.join(s)
71
  output = openai_create(inp)
72
  history.append((input, output))
 
 
 
 
 
73
  return history, history
74
 
75
+
76
 
77
 
78
  block = gr.Blocks(css=".gradio-container {background: url('file=fundo.jpg'); background-size: contain;}")
 
84
  gr.Markdown("""<h3 style="color: #ffffff; font-weight: bold;"><center> </center></h3>""")
85
 
86
  chatbot = gr.Chatbot()
87
+ message = gr.Textbox(placeholder=prompt)
 
 
 
 
 
88
  examples=[
89
  ["Doi-me a cabeça!"],
90
  ["Tenho febre, podes ajudar?."],
91
  ],
92
  state = gr.State()
93
+ # submit = gr.Button("Enviar")
94
+ # submit = gr.Button("Enviar")
95
+ submit = gr.ClearButton([message, chatbot])
96
+ submit.click(chatgpt_clone, inputs=[message, state], outputs=[chatbot, state])
97
+
98
+ # msg.submit(respond, [msg, chatbot], [msg, chatbot])
99
  block.launch(inline=False)