Spaces:
Running
Running
FabioSantos
commited on
Commit
•
287f7aa
1
Parent(s):
97c6cce
Upload app.py
Browse files
app.py
CHANGED
@@ -4,6 +4,7 @@ from llama_cpp import Llama
|
|
4 |
from huggingface_hub import hf_hub_download
|
5 |
import csv
|
6 |
import os
|
|
|
7 |
|
8 |
# Configurações iniciais
|
9 |
repo_id = "xtuner/llava-llama-3-8b-v1_1-gguf"
|
@@ -34,15 +35,21 @@ def save_to_csv(name, age, support_level, stimulus_type, file_path):
|
|
34 |
writer.writerow(["Nome", "Idade", "Nível de Suporte", "Tipo de Estímulo"])
|
35 |
writer.writerow([name, age, support_level, stimulus_type])
|
36 |
|
37 |
-
# Função para converter a imagem em uma
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
# Converte a imagem em uma string base64
|
42 |
-
with open(image_path, "rb") as image_file:
|
43 |
-
base64_string = base64.b64encode(image_file.read()).decode('utf-8')
|
44 |
return base64_string
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
# Frontend usando Streamlit
|
47 |
st.title("Sugestão de Brincadeiras para Crianças Autistas")
|
48 |
|
@@ -61,14 +68,14 @@ if uploaded_file is not None:
|
|
61 |
# Exibe a imagem enviada
|
62 |
raw_image = Image.open(uploaded_file)
|
63 |
st.image(raw_image, caption='Imagem enviada', use_column_width=False)
|
64 |
-
|
65 |
-
#
|
66 |
-
|
67 |
|
68 |
# Botão para gerar a resposta
|
69 |
if st.button("Gerar Sugestão de Brincadeira"):
|
70 |
with st.spinner("Processando..."):
|
71 |
-
prompt = f"
|
72 |
|
73 |
# Gera a sugestão de brincadeira
|
74 |
response = model(
|
@@ -87,5 +94,4 @@ if uploaded_file is not None:
|
|
87 |
save_to_csv(name, age, support_level, stimulus_type, csv_file)
|
88 |
|
89 |
st.success("Sugestão de Brincadeira:")
|
90 |
-
st.write(suggestion)
|
91 |
-
|
|
|
4 |
from huggingface_hub import hf_hub_download
|
5 |
import csv
|
6 |
import os
|
7 |
+
import base64
|
8 |
|
9 |
# Configurações iniciais
|
10 |
repo_id = "xtuner/llava-llama-3-8b-v1_1-gguf"
|
|
|
35 |
writer.writerow(["Nome", "Idade", "Nível de Suporte", "Tipo de Estímulo"])
|
36 |
writer.writerow([name, age, support_level, stimulus_type])
|
37 |
|
38 |
+
# Função para converter a imagem em uma string base64
|
39 |
+
def process_image_to_text(uploaded_file):
|
40 |
+
# Converte o arquivo UploadedFile em uma string base64
|
41 |
+
base64_string = base64.b64encode(uploaded_file.read()).decode('utf-8')
|
|
|
|
|
|
|
42 |
return base64_string
|
43 |
|
44 |
+
# Função para salvar os dados em um CSV com codificação UTF-8
|
45 |
+
def save_to_csv(name, age, support_level, stimulus_type, file_path):
|
46 |
+
file_exists = os.path.isfile(file_path)
|
47 |
+
with open(file_path, mode='a', newline='', encoding='utf-8') as file:
|
48 |
+
writer = csv.writer(file)
|
49 |
+
if not file_exists:
|
50 |
+
writer.writerow(["Nome", "Idade", "Nível de Suporte", "Tipo de Estímulo"])
|
51 |
+
writer.writerow([name, age, support_level, stimulus_type])
|
52 |
+
|
53 |
# Frontend usando Streamlit
|
54 |
st.title("Sugestão de Brincadeiras para Crianças Autistas")
|
55 |
|
|
|
68 |
# Exibe a imagem enviada
|
69 |
raw_image = Image.open(uploaded_file)
|
70 |
st.image(raw_image, caption='Imagem enviada', use_column_width=False)
|
71 |
+
|
72 |
+
# Converte a imagem em base64
|
73 |
+
image_base64 = process_image_to_text(uploaded_file)
|
74 |
|
75 |
# Botão para gerar a resposta
|
76 |
if st.button("Gerar Sugestão de Brincadeira"):
|
77 |
with st.spinner("Processando..."):
|
78 |
+
prompt = f"Qual brincadeira segura você sugere e explica em forma de uma receita passo a passo que utiliza o objeto dessa imagem (base64: {image_base64}) para {name}, uma criança de {age} anos com autismo de nível {support_level} que responde bem a estímulos {stimulus_type}?"
|
79 |
|
80 |
# Gera a sugestão de brincadeira
|
81 |
response = model(
|
|
|
94 |
save_to_csv(name, age, support_level, stimulus_type, csv_file)
|
95 |
|
96 |
st.success("Sugestão de Brincadeira:")
|
97 |
+
st.write(suggestion)
|
|