Gerofra commited on
Commit
ccea65c
1 Parent(s): 63d62a7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -19
app.py CHANGED
@@ -17,23 +17,15 @@ exec(os.environ.get('storage_context'))
17
 
18
  prompt = 'responder en español como un asistente experto en medicina, dando una respuesta detallada y reflejando de forma fiel los datos disponibles. Considerar segun aplique la siguiente informacion adicional: Nombre del Medicamento: Acsodix. Principio Activo: Vortioxetina. Formas y Dosis: Acsodix 5, 10, y 20 mg (comprimidos recubiertos). Indicaciones: Tratamiento de episodios de depresión mayor en adultos. Contraindicaciones: Alergia a la Vortioxetina, toma de ciertos inhibidores de la monoaminooxidasa, enfermedad hepática grave, etc. Precauciones: Embarazo, lactancia, conducción, uso de otros medicamentos, etc. Efectos Adversos: Náuseas, diarrea, vómitos, mareo, prurito, etc. Instrucciones de Uso: Se puede tomar con o sin alimentos, no se aconseja la combinación con alcohol, etc. Presentación: Cajas conteniendo 30 comprimidos recubiertos en diferentes dosis. La dosis máxima de Acsodix para adultos menores a 65 años es de 20 mg al día. Se debe tener precaución cuando se traten pacientes mayores de 65 años de edad con dosis superiores a 10 mg de Vortioxetina una vez al día, ya que los datos son limitados. El medicamento Vortioxetina (Acsodix) no puede ni debe ser combinado con alcohol. Se debe tener precaución al combinar la Vortioxetina con anticoagulantes o antiagregantes plaquetarios orales como warfarina, dipiridamol, fenprocumón, ácido acetilsalicílico, debido al potencial aumento del riesgo de hemorragia. La información proporcionada no menciona específicamente los dolores de cabeza como un efecto secundario de tomar Acsodix. Informe a su médico si está tomando, ha tomado recientemente o podría tener que tomar cualquier otro medicamento, incluso los adquiridos sin receta. No se observaron cambios en los niveles de hormonas sexuales después de la administración conjunta de Vortioxetina con el anticonceptivo oral combinado (etinil estradiol 30 μg/ levonorgestrel 150 μg).Acsodix no está recomendado en niños y adolescentes menores de 18 años, debido a la falta de información en este grupo de edad. La pregunta a responder es la siguiente:'
19
 
20
- # Funcion de chat
21
  def predict(message):
22
- # Agrega la pregunta del usuario al historial en formato OpenAI
23
- history_openai_format = [{"role": "user", "content": message}]
24
-
25
- # Agrega el prompt personalizado al inicio del historial
26
- full_prompt = [{'role': 'assistant', 'content': prompt}]
27
- full_prompt.extend(history_openai_format)
28
-
29
- # Obtener la pregunta del usuario
30
- user_message = full_prompt[-1]["content"]
31
-
32
- # Utilizar el índice de entrenamiento para generar la respuesta
33
- query = user_message
34
- respuesta = index.as_query_engine().query(query)
35
 
36
- # Respuesta de OpenAI basada en la consulta y agregarla al historial
37
  response = openai.ChatCompletion.create(
38
  model='gpt-3.5-turbo-0613',
39
  max_tokens=1000,
@@ -42,13 +34,14 @@ def predict(message):
42
  stream=True
43
  )
44
 
 
45
  partial_message = ""
46
  for chunk in response:
47
  if len(chunk['choices'][0]['delta']) != 0:
48
  partial_message = partial_message + chunk['choices'][0]['delta']['content']
49
- yield partial_message
50
 
51
- # Define la interfaz de Gradio sin chat
52
  gr.Interface(
53
  fn=predict,
54
  inputs=gr.Textbox("Escribe una pregunta...", label="Pregunta"),
@@ -58,7 +51,6 @@ gr.Interface(
58
  theme="soft",
59
  examples=["¿Se puede tomar con anticonceptivos?", "Hola"],
60
  cache_examples=True,
61
- #live=True,
62
  button="Preguntar",
63
  clearbutton=None,
64
- ).launch()
 
17
 
18
  prompt = 'responder en español como un asistente experto en medicina, dando una respuesta detallada y reflejando de forma fiel los datos disponibles. Considerar segun aplique la siguiente informacion adicional: Nombre del Medicamento: Acsodix. Principio Activo: Vortioxetina. Formas y Dosis: Acsodix 5, 10, y 20 mg (comprimidos recubiertos). Indicaciones: Tratamiento de episodios de depresión mayor en adultos. Contraindicaciones: Alergia a la Vortioxetina, toma de ciertos inhibidores de la monoaminooxidasa, enfermedad hepática grave, etc. Precauciones: Embarazo, lactancia, conducción, uso de otros medicamentos, etc. Efectos Adversos: Náuseas, diarrea, vómitos, mareo, prurito, etc. Instrucciones de Uso: Se puede tomar con o sin alimentos, no se aconseja la combinación con alcohol, etc. Presentación: Cajas conteniendo 30 comprimidos recubiertos en diferentes dosis. La dosis máxima de Acsodix para adultos menores a 65 años es de 20 mg al día. Se debe tener precaución cuando se traten pacientes mayores de 65 años de edad con dosis superiores a 10 mg de Vortioxetina una vez al día, ya que los datos son limitados. El medicamento Vortioxetina (Acsodix) no puede ni debe ser combinado con alcohol. Se debe tener precaución al combinar la Vortioxetina con anticoagulantes o antiagregantes plaquetarios orales como warfarina, dipiridamol, fenprocumón, ácido acetilsalicílico, debido al potencial aumento del riesgo de hemorragia. La información proporcionada no menciona específicamente los dolores de cabeza como un efecto secundario de tomar Acsodix. Informe a su médico si está tomando, ha tomado recientemente o podría tener que tomar cualquier otro medicamento, incluso los adquiridos sin receta. No se observaron cambios en los niveles de hormonas sexuales después de la administración conjunta de Vortioxetina con el anticonceptivo oral combinado (etinil estradiol 30 μg/ levonorgestrel 150 μg).Acsodix no está recomendado en niños y adolescentes menores de 18 años, debido a la falta de información en este grupo de edad. La pregunta a responder es la siguiente:'
19
 
20
+ # Define la función predict
21
  def predict(message):
22
+ # Definir el prompt personalizado
23
+ prompt = 'responder en español como un asistente experto en medicina, dando una respuesta detallada y reflejando de forma fiel los datos disponibles. Considerar según aplique la siguiente información adicional: Nombre del Medicamento: Acsodix. Principio Activo: Vortioxetina. Formas y Dosis: Acsodix 5, 10, y 20 mg (comprimidos recubiertos). ... (resto del texto) ... La pregunta a responder es la siguiente:'
24
+
25
+ # Agregar la pregunta del usuario al prompt
26
+ full_prompt = [{'role': 'assistant', 'content': prompt}, {"role": "user", "content": message}]
 
 
 
 
 
 
 
 
27
 
28
+ # Obtener la respuesta de OpenAI
29
  response = openai.ChatCompletion.create(
30
  model='gpt-3.5-turbo-0613',
31
  max_tokens=1000,
 
34
  stream=True
35
  )
36
 
37
+ # Extraer y retornar la respuesta
38
  partial_message = ""
39
  for chunk in response:
40
  if len(chunk['choices'][0]['delta']) != 0:
41
  partial_message = partial_message + chunk['choices'][0]['delta']['content']
42
+ return partial_message
43
 
44
+ # Define la interfaz de Gradio
45
  gr.Interface(
46
  fn=predict,
47
  inputs=gr.Textbox("Escribe una pregunta...", label="Pregunta"),
 
51
  theme="soft",
52
  examples=["¿Se puede tomar con anticonceptivos?", "Hola"],
53
  cache_examples=True,
 
54
  button="Preguntar",
55
  clearbutton=None,
56
+ ).launch()