Spaces:
Runtime error
Runtime error
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
|