Spaces:
Sleeping
Sleeping
riabayonaor
commited on
Commit
•
2e91b91
1
Parent(s):
834d12c
Update app.py
Browse files
app.py
CHANGED
@@ -14,12 +14,22 @@ API_URL = "https://api-inference.huggingface.co/models/riabayonaor/modelo_predic
|
|
14 |
META_LLAMA_API_URL = "https://api-inference.huggingface.co/models/meta-llama/Meta-Llama-3-8B-Instruct"
|
15 |
headers = {"Authorization": f"Bearer {huggingface_api_key}"}
|
16 |
|
|
|
|
|
|
|
|
|
17 |
def query(image_bytes):
|
18 |
response = requests.post(API_URL, headers=headers, data=image_bytes)
|
|
|
|
|
|
|
19 |
return response.json()
|
20 |
|
21 |
def llama_query(prompt):
|
22 |
response = requests.post(META_LLAMA_API_URL, headers=headers, json={"inputs": prompt})
|
|
|
|
|
|
|
23 |
return response.json()
|
24 |
|
25 |
def main():
|
@@ -42,23 +52,30 @@ def main():
|
|
42 |
# Enviar la imagen al modelo de Hugging Face
|
43 |
predictions = query(img_byte_arr)
|
44 |
|
45 |
-
if
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
49 |
|
50 |
-
|
51 |
-
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
|
|
|
|
|
|
|
|
|
|
60 |
else:
|
61 |
-
st.write("No se pudo
|
62 |
else:
|
63 |
st.write("No se pudo clasificar la imagen.")
|
64 |
|
|
|
14 |
META_LLAMA_API_URL = "https://api-inference.huggingface.co/models/meta-llama/Meta-Llama-3-8B-Instruct"
|
15 |
headers = {"Authorization": f"Bearer {huggingface_api_key}"}
|
16 |
|
17 |
+
# Lista de clases del modelo
|
18 |
+
classes = ["Anthracnose", "Bacterial Wilt", "Belly Rot", "Downy Mildew",
|
19 |
+
"Fresh Cucumber", "Fresh Leaf", "Gummy Stem Blight", "Pythium Fruit Rot"]
|
20 |
+
|
21 |
def query(image_bytes):
|
22 |
response = requests.post(API_URL, headers=headers, data=image_bytes)
|
23 |
+
if response.status_code != 200:
|
24 |
+
st.error(f"Error al clasificar la imagen: {response.status_code}")
|
25 |
+
return None
|
26 |
return response.json()
|
27 |
|
28 |
def llama_query(prompt):
|
29 |
response = requests.post(META_LLAMA_API_URL, headers=headers, json={"inputs": prompt})
|
30 |
+
if response.status_code != 200:
|
31 |
+
st.error(f"Error al obtener respuesta del modelo Meta Llama: {response.status_code}")
|
32 |
+
return None
|
33 |
return response.json()
|
34 |
|
35 |
def main():
|
|
|
52 |
# Enviar la imagen al modelo de Hugging Face
|
53 |
predictions = query(img_byte_arr)
|
54 |
|
55 |
+
if predictions is not None:
|
56 |
+
if "error" not in predictions:
|
57 |
+
# Suponiendo que las predicciones están en el formato [{label: "0", score: 0.95}, {label: "1", score: 0.05}]
|
58 |
+
top_prediction = max(predictions, key=lambda x: x["score"])
|
59 |
+
class_label = classes[int(top_prediction['label'])]
|
60 |
+
st.write(f"Predicción principal: {class_label} con confianza {top_prediction['score']:.2f}")
|
61 |
|
62 |
+
# Usar la etiqueta principal para el modelo de Meta Llama
|
63 |
+
prompt = f"Esta enfermedad es {class_label}. Explica qué es y sugiere posibles insecticidas o soluciones."
|
64 |
|
65 |
+
# Llamar al modelo Meta Llama
|
66 |
+
llama_response = llama_query(prompt)
|
67 |
+
|
68 |
+
if llama_response is not None:
|
69 |
+
if "error" not in llama_response:
|
70 |
+
explanation = llama_response[0]["generated_text"]
|
71 |
+
st.write("Explicación y posibles soluciones:")
|
72 |
+
st.write(explanation)
|
73 |
+
else:
|
74 |
+
st.write("No se pudo obtener una respuesta del modelo Meta Llama.")
|
75 |
+
else:
|
76 |
+
st.write("No se pudo obtener una respuesta del modelo Meta Llama.")
|
77 |
else:
|
78 |
+
st.write("No se pudo clasificar la imagen.")
|
79 |
else:
|
80 |
st.write("No se pudo clasificar la imagen.")
|
81 |
|