Update app.py
Browse files
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 |
-
#
|
21 |
def predict(message):
|
22 |
-
#
|
23 |
-
|
24 |
-
|
25 |
-
#
|
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 |
-
#
|
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 |
-
|
50 |
|
51 |
-
# Define la interfaz de Gradio
|
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()
|