Spaces:
Running
Running
Update views/pdf_chat.py
Browse files- views/pdf_chat.py +139 -138
views/pdf_chat.py
CHANGED
@@ -1,146 +1,147 @@
|
|
1 |
import os
|
2 |
|
3 |
import streamlit as st
|
4 |
-
from groq import Groq
|
5 |
from streamlit_extras.add_vertical_space import add_vertical_space
|
6 |
from streamlit_option_menu import option_menu
|
7 |
|
8 |
st.title("Utilidades")
|
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 |
-
"🦶 Calcâneo - Axial e Lateral",
|
92 |
-
"🦵 Tornozelo - AP, AP do encaixe, Lateral e Oblíqua",
|
93 |
-
"🦿 Joelho - AP, Lateral e Oblíqua",
|
94 |
-
"🦿 Patela - PA, Lateral e Tangencial",
|
95 |
-
"🦿 Perna - AP e Lateral",
|
96 |
-
"🦿 Fêmur – AP e Lateral",
|
97 |
-
],
|
98 |
-
"🦴 Coluna Vertebral": [
|
99 |
-
"🦴 Coluna Cervical - Axial AP, Transoral, Lateral e Oblíqua",
|
100 |
-
"🦴 Coluna Dorsal ou Torácica - AP e Lateral",
|
101 |
-
"🦴 Coluna Lombar - AP, Lateral e Oblíqua",
|
102 |
-
"🦴 Sacro e Cóccix - Axial AP e Lateral",
|
103 |
-
"🦴 Rotina para Escoliose – AP e Lateral",
|
104 |
-
"🦴 Rotina para Fusão Vertebral – AP com inclinação Esquerda e Direita Lateral com Hiperextensão e Hiperflexão",
|
105 |
-
],
|
106 |
-
"🦷 Cabeça e Face": [
|
107 |
-
"👤 Crânio - AP Axial, PA e Lateral",
|
108 |
-
"👃 Ossos da Face - Caldwell, Waters e Lateral",
|
109 |
-
"👂 Ossos Nasais - Waters e Lateral",
|
110 |
-
"👄 Mandíbula - Axial Lateral, PA e Axial AP",
|
111 |
-
"🧠 Seios da Face - Caldwell, Waters e Lateral",
|
112 |
-
"👂 Arcos Zigomáticos – Axial AP Submentovertice e Tangencial",
|
113 |
-
"👂 Pirâmide – Rhêse, Caldwell e Waters",
|
114 |
-
"🦴 ATM's – Axial Lateral e Oblíqua Axial Lateral",
|
115 |
-
"🦴 Mastoides – Oblíqua Axial Lateral, Oblíqua Axial Anterior e Axial AP",
|
116 |
-
"🦴 Sela Turcica – Axial AP e Lateral",
|
117 |
-
]
|
118 |
-
}
|
119 |
-
|
120 |
-
cx1, cx2 = st.columns([1, 1])
|
121 |
-
|
122 |
-
with cx1:
|
123 |
-
st.markdown("")
|
124 |
-
regioes = list(incidencias_radiograficas.keys())
|
125 |
-
regiao_escolhida = st.radio("", regioes)
|
126 |
-
|
127 |
-
with cx2:
|
128 |
-
if regiao_escolhida:
|
129 |
-
exibir_incidencias(
|
130 |
-
regiao_escolhida,
|
131 |
-
incidencias_radiograficas[regiao_escolhida])
|
132 |
-
|
133 |
-
st.markdown("""
|
134 |
-
---
|
135 |
-
Feito com ❤️ e ☕ por **[Dr. Guilherme]**
|
136 |
-
""")
|
137 |
-
|
138 |
-
elif nested_menu == "RAG":
|
139 |
-
st.header("RAG")
|
140 |
-
|
141 |
-
elif nested_menu == "Geral":
|
142 |
-
st.header("Geral")
|
143 |
-
st.write("Conteúdo da Subpágina 3")
|
144 |
-
|
145 |
-
if __name__ == "__main__":
|
146 |
-
main()
|
|
|
1 |
import os
|
2 |
|
3 |
import streamlit as st
|
|
|
4 |
from streamlit_extras.add_vertical_space import add_vertical_space
|
5 |
from streamlit_option_menu import option_menu
|
6 |
|
7 |
st.title("Utilidades")
|
8 |
+
|
9 |
+
|
10 |
+
# Menu aninhado usando streamlit-option-menu na horizontal
|
11 |
+
nested_menu = option_menu(
|
12 |
+
menu_title=None,
|
13 |
+
options=[
|
14 |
+
"Incidências radiológicas", "RAG", "Geral"
|
15 |
+
],
|
16 |
+
icons=['lungs', 'gear', 'envelope'],
|
17 |
+
menu_icon="cast",
|
18 |
+
default_index=0,
|
19 |
+
orientation="horizontal",
|
20 |
+
)
|
21 |
+
|
22 |
+
|
23 |
+
st.markdown('Calculadoras')
|
24 |
+
|
25 |
+
|
26 |
+
# Conteúdo das subpáginas
|
27 |
+
if nested_menu == "Incidências radiológicas":
|
28 |
+
st.header("Apoio clínico na solicitação de radiografias!")
|
29 |
+
|
30 |
+
c1, c2, c3, c4 = st.columns([1, 3, 3, 1])
|
31 |
+
|
32 |
+
with c1:
|
33 |
+
st.markdown("")
|
34 |
+
|
35 |
+
with c2:
|
36 |
+
st.header(":blue[Incidências Radiográficas] ☢️")
|
37 |
+
|
38 |
+
with c3:
|
39 |
+
st.image("icons/rx2.svg", width=400)
|
40 |
+
with c4:
|
41 |
+
st.markdown("")
|
42 |
+
|
43 |
+
add_vertical_space()
|
44 |
+
# # Descrição com estilo e emojis
|
45 |
+
st.markdown("""
|
46 |
+
##### ✅ **Vamos melhorar a visualização das incidências médicas!**
|
47 |
+
""")
|
48 |
+
|
49 |
+
# Função para exibir regiões e incidências
|
50 |
+
def exibir_incidencias(regiao, incidencias):
|
51 |
+
st.markdown(f"## {regiao}")
|
52 |
+
for incidencia in incidencias:
|
53 |
+
st.markdown(f"- {incidencia}")
|
54 |
+
|
55 |
+
add_vertical_space(3)
|
56 |
+
|
57 |
+
st.markdown("### 🧍♂️ Selecione a Região do Corpo:")
|
58 |
+
|
59 |
+
incidencias_radiograficas = {
|
60 |
+
"👨⚕️ Tórax e Vias Aéreas": [
|
61 |
+
"👨⚕️ Tórax - PA e Lateral",
|
62 |
+
"🦴 Esterno – OAD e Lateral",
|
63 |
+
"🦴 Art. Esterno-Clavicular – PA, OAD e OAE",
|
64 |
+
"🦴 Costelas Posteriores – AP, OPD e OPE",
|
65 |
+
"🦴 Costelas Anteriores – PA, OAD e OPE",
|
66 |
+
"👃 Vias aéreas superiores - AP e Lateral",
|
67 |
+
],
|
68 |
+
"💢 Abdome e Pelve": [
|
69 |
+
"💢 Abdome - AP em Decúbito Dorsal",
|
70 |
+
"💢 RAA - Tórax PA, Abdome em Decúbito Dorsal e Abdome em AP Ortostrica",
|
71 |
+
"🦵 Pelves (Bacia) - AP e AP perna de Rã, para traumatismo apenas AP",
|
72 |
+
"🦵 Quadril - AP e Axial Lateral",
|
73 |
+
"🦴 Art. Sacro-Ilíaca – Axial AP e Oblíquas",
|
74 |
],
|
75 |
+
"✋ Membros Superiores": [
|
76 |
+
"✋ Dedos da mão do 2º ao 5º - PA, Lateral e Oblíqua",
|
77 |
+
"👍 Polegar - AP, Lateral e Oblíqua",
|
78 |
+
"🖐️ Mão - PA, Lateral e Oblíqua",
|
79 |
+
"✊ Mão e Punho para Idade Óssea - PA Comparativa",
|
80 |
+
"✊ Punho - PA, Lateral e Oblíqua",
|
81 |
+
"🦴 Antebraço - AP e Lateral",
|
82 |
+
"🦴 Cotovelo - AP e Lateral",
|
83 |
+
"🦴 Úmero - AP e Lateral",
|
84 |
+
"💪 Ombro - AP com rotação externa e interna",
|
85 |
+
"💪 Ombro em traumatismo - AP com rotação neutra, Lateral escapular ou Transtorácica",
|
86 |
+
"🦴 Clavícula - AP e AP Axial",
|
87 |
+
"🦴 Art. Acromioclavicular - AP Bilateral com e sem estresse",
|
88 |
+
"🦴 Escápula - AP e Lateral",
|
89 |
+
],
|
90 |
+
"🦵 Membros Inferiores": [
|
91 |
+
"🦶 Dedos dos pés - AP, Lateral e Oblíqua",
|
92 |
+
"🦶 Pé - AP, Lateral e Oblíqua",
|
93 |
+
"🦶 Calcâneo - Axial e Lateral",
|
94 |
+
"🦵 Tornozelo - AP, AP do encaixe, Lateral e Oblíqua",
|
95 |
+
"🦿 Joelho - AP, Lateral e Oblíqua",
|
96 |
+
"🦿 Patela - PA, Lateral e Tangencial",
|
97 |
+
"🦿 Perna - AP e Lateral",
|
98 |
+
"🦿 Fêmur – AP e Lateral",
|
99 |
+
],
|
100 |
+
"🦴 Coluna Vertebral": [
|
101 |
+
"🦴 Coluna Cervical - Axial AP, Transoral, Lateral e Oblíqua",
|
102 |
+
"🦴 Coluna Dorsal ou Torácica - AP e Lateral",
|
103 |
+
"🦴 Coluna Lombar - AP, Lateral e Oblíqua",
|
104 |
+
"🦴 Sacro e Cóccix - Axial AP e Lateral",
|
105 |
+
"🦴 Rotina para Escoliose – AP e Lateral",
|
106 |
+
"🦴 Rotina para Fusão Vertebral – AP com inclinação Esquerda e Direita Lateral com Hiperextensão e Hiperflexão",
|
107 |
+
],
|
108 |
+
"🦷 Cabeça e Face": [
|
109 |
+
"👤 Crânio - AP Axial, PA e Lateral",
|
110 |
+
"👃 Ossos da Face - Caldwell, Waters e Lateral",
|
111 |
+
"👂 Ossos Nasais - Waters e Lateral",
|
112 |
+
"👄 Mandíbula - Axial Lateral, PA e Axial AP",
|
113 |
+
"🧠 Seios da Face - Caldwell, Waters e Lateral",
|
114 |
+
"👂 Arcos Zigomáticos – Axial AP Submentovertice e Tangencial",
|
115 |
+
"👂 Pirâmide – Rhêse, Caldwell e Waters",
|
116 |
+
"🦴 ATM's – Axial Lateral e Oblíqua Axial Lateral",
|
117 |
+
"🦴 Mastoides – Oblíqua Axial Lateral, Oblíqua Axial Anterior e Axial AP",
|
118 |
+
"🦴 Sela Turcica – Axial AP e Lateral",
|
119 |
+
]
|
120 |
+
}
|
121 |
+
|
122 |
+
cx1, cx2 = st.columns([1, 1])
|
123 |
+
|
124 |
+
with cx1:
|
125 |
+
st.markdown("")
|
126 |
+
regioes = list(incidencias_radiograficas.keys())
|
127 |
+
regiao_escolhida = st.radio("", regioes)
|
128 |
+
|
129 |
+
with cx2:
|
130 |
+
if regiao_escolhida:
|
131 |
+
exibir_incidencias(
|
132 |
+
regiao_escolhida,
|
133 |
+
incidencias_radiograficas[regiao_escolhida])
|
134 |
+
|
135 |
+
st.markdown("""
|
136 |
+
---
|
137 |
+
Feito com ❤️ e ☕ por **[Dr. Guilherme]**
|
138 |
+
""")
|
139 |
+
|
140 |
+
elif nested_menu == "RAG":
|
141 |
+
st.header("RAG")
|
142 |
+
|
143 |
+
elif nested_menu == "Geral":
|
144 |
+
st.header("Geral")
|
145 |
+
|
146 |
+
|
147 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|