Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -40,15 +40,9 @@ transform = transforms.Compose([
|
|
40 |
# Load the class names (disease types)
|
41 |
class_names = ['BacterialBlights', 'Healthy', 'Mosaic', 'RedRot', 'Rust', 'Yellow']
|
42 |
|
43 |
-
#
|
44 |
-
def get_response_llm(predicted_label,
|
45 |
-
|
46 |
-
prompt = (
|
47 |
-
f"You're a helpful assistant who helps farmers know about sugarcane diseases. "
|
48 |
-
f"Predicted disease label: '{predicted_label}'. "
|
49 |
-
f"Here is some additional knowledge: {knowledge_base}. "
|
50 |
-
f"Please provide a detailed response including advice, symptoms, and precautions."
|
51 |
-
)
|
52 |
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
|
53 |
model = genai.GenerativeModel("gemini-1.5-flash")
|
54 |
response = model.generate_content([prompt])
|
@@ -149,6 +143,7 @@ knowledge_base = """
|
|
149 |
|
150 |
|
151 |
|
|
|
152 |
def predict_disease(image):
|
153 |
# Apply transformations to the image
|
154 |
img_tensor = transform(image).unsqueeze(0) # Add batch dimension
|
@@ -161,19 +156,34 @@ def predict_disease(image):
|
|
161 |
# Get the predicted label
|
162 |
predicted_label = class_names[predicted_class.item()]
|
163 |
|
164 |
-
#
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
166 |
|
167 |
-
# Create a styled HTML output
|
168 |
output_message = f"""
|
169 |
<div style='font-size: 18px; color: #4CAF50; font-weight: bold;'>
|
170 |
Detected Disease: <span style='color: #FF5722;'>{predicted_label}</span>
|
171 |
</div>
|
172 |
-
<div style='font-size: 16px; color: #757575; line-height: 1.6;'>
|
173 |
-
{detailed_response.replace("\n", "<br>").replace("-", "•")}
|
174 |
-
</div>
|
175 |
"""
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
return output_message
|
178 |
|
179 |
# Create Gradio interface
|
|
|
40 |
# Load the class names (disease types)
|
41 |
class_names = ['BacterialBlights', 'Healthy', 'Mosaic', 'RedRot', 'Rust', 'Yellow']
|
42 |
|
43 |
+
#Gemini Response
|
44 |
+
def get_response_llm(predicted_label,knowledge_base):
|
45 |
+
prompt = f"Your an helpful assistant who helps farmers know about the sugarcane leaf diseases , precaution, advise etc....Predicted disease label will is given to you '{predicted_label}' and also {knowledge_base} Provide breif answer of advise for managing this condition.Give the response in a beautiful way like bold or bullet point etc.. wherever required"
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
|
47 |
model = genai.GenerativeModel("gemini-1.5-flash")
|
48 |
response = model.generate_content([prompt])
|
|
|
143 |
|
144 |
|
145 |
|
146 |
+
# Update the predict_disease function
|
147 |
def predict_disease(image):
|
148 |
# Apply transformations to the image
|
149 |
img_tensor = transform(image).unsqueeze(0) # Add batch dimension
|
|
|
156 |
# Get the predicted label
|
157 |
predicted_label = class_names[predicted_class.item()]
|
158 |
|
159 |
+
# # Retrieve response from knowledge base
|
160 |
+
# if predicted_label in knowledge_base:
|
161 |
+
# detailed_response = knowledge_base[predicted_label]
|
162 |
+
# else:
|
163 |
+
# # Fallback to AI-generated response
|
164 |
+
predicted_label = f'The predicted label is {predicted_label}'
|
165 |
+
detailed_response = get_response_llm(predicted_label,knowledge_base)
|
166 |
|
167 |
+
# Create a styled HTML output
|
168 |
output_message = f"""
|
169 |
<div style='font-size: 18px; color: #4CAF50; font-weight: bold;'>
|
170 |
Detected Disease: <span style='color: #FF5722;'>{predicted_label}</span>
|
171 |
</div>
|
|
|
|
|
|
|
172 |
"""
|
173 |
|
174 |
+
if predicted_label != "Healthy":
|
175 |
+
output_message += f"""
|
176 |
+
<p style='font-size: 16px; color: #757575;'>
|
177 |
+
{detailed_response}
|
178 |
+
</p>
|
179 |
+
"""
|
180 |
+
else:
|
181 |
+
output_message += f"""
|
182 |
+
<p style='font-size: 16px; color: #757575;'>
|
183 |
+
{detailed_response}
|
184 |
+
</p>
|
185 |
+
"""
|
186 |
+
|
187 |
return output_message
|
188 |
|
189 |
# Create Gradio interface
|