saritha commited on
Commit
7a451d4
·
verified ·
1 Parent(s): 620e520

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -15
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
- # Updated function to avoid backslash issues
44
- def get_response_llm(predicted_label, knowledge_base):
45
- # Break down the prompt without unintended escape characters
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
- # Generate a detailed response using the LLM
165
- detailed_response = get_response_llm(predicted_label, knowledge_base)
 
 
 
 
 
166
 
167
- # Create a styled HTML output with bullet points and emphasis
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