|
|
""" |
|
|
Treatment module - Generates disease treatment recommendations |
|
|
Uses Gemini AI or falls back to predefined treatments |
|
|
""" |
|
|
|
|
|
class TreatmentGenerator: |
|
|
"""Generates treatment recommendations for fish diseases""" |
|
|
|
|
|
def __init__(self, gemini_model=None): |
|
|
""" |
|
|
Initialize treatment generator |
|
|
|
|
|
Args: |
|
|
gemini_model: Google Gemini model instance (optional) |
|
|
""" |
|
|
self.gemini_model = gemini_model |
|
|
|
|
|
def get_recommendations(self, disease_name, confidence): |
|
|
""" |
|
|
Get treatment recommendations for detected disease |
|
|
|
|
|
Args: |
|
|
disease_name: Name of detected disease |
|
|
confidence: Confidence score (0-100) |
|
|
|
|
|
Returns: |
|
|
str: Formatted treatment recommendations |
|
|
""" |
|
|
if self.gemini_model: |
|
|
return self._get_ai_treatment(disease_name, confidence) |
|
|
else: |
|
|
return self._get_fallback_treatment(disease_name) |
|
|
|
|
|
def _get_ai_treatment(self, disease_name, confidence): |
|
|
"""Generate AI-powered treatment using Gemini""" |
|
|
try: |
|
|
prompt = f"""You are an expert aquaculture veterinarian with 20 years of experience. |
|
|
|
|
|
**DIAGNOSIS:** |
|
|
- Disease: {disease_name.replace('_', ' ')} |
|
|
- Confidence: {confidence:.1f}% |
|
|
|
|
|
Provide a detailed, practical treatment plan in this EXACT format: |
|
|
|
|
|
**IMMEDIATE ACTIONS (First 24 hours):** |
|
|
- [List 3-4 urgent steps with specific timing] |
|
|
|
|
|
**TREATMENT PROTOCOL (Days 1-10):** |
|
|
- [Medications with exact dosages, frequency, and duration] |
|
|
- [Water management with specific parameters] |
|
|
|
|
|
**PREVENTION MEASURES:** |
|
|
- [List 4-5 specific preventive measures for future] |
|
|
|
|
|
**EXPECTED OUTCOME:** |
|
|
- [Recovery timeline and realistic success rate] |
|
|
|
|
|
Requirements: |
|
|
- Be specific with dosages (mg/kg, ppm, etc.) |
|
|
- Include water parameter targets (pH, DO, temperature) |
|
|
- Use simple language for fish farmers |
|
|
- Focus on practical, actionable steps""" |
|
|
|
|
|
response = self.gemini_model.generate_content(prompt) |
|
|
return response.text |
|
|
|
|
|
except Exception as e: |
|
|
print(f"⚠️ Gemini treatment generation error: {e}") |
|
|
return self._get_fallback_treatment(disease_name) |
|
|
|
|
|
def _get_fallback_treatment(self, disease_name): |
|
|
"""Fallback treatment database (predefined)""" |
|
|
treatments = { |
|
|
'Aeromoniasis': """**IMMEDIATE ACTIONS (First 24 hours):** |
|
|
- Isolate infected fish immediately to prevent spread |
|
|
- Perform 50% water change within 2 hours |
|
|
- Increase aeration to maximum capacity |
|
|
- Stop feeding for 24 hours to reduce waste |
|
|
|
|
|
**TREATMENT PROTOCOL (Days 1-10):** |
|
|
- Antibiotics: Oxytetracycline 50-75 mg/kg feed for 10 consecutive days |
|
|
- Salt bath: 3% NaCl solution for 5-10 minutes daily (days 1-7) |
|
|
- Maintain water temperature at 25-28°C |
|
|
- Monitor daily for 14 days post-treatment |
|
|
|
|
|
**PREVENTION MEASURES:** |
|
|
- Maintain dissolved oxygen > 5 mg/L at all times |
|
|
- Reduce stocking density by 30% if currently overcrowded |
|
|
- Implement 14-21 day quarantine for all new fish |
|
|
- Weekly health monitoring and immediate isolation of sick fish |
|
|
- Regular disinfection of equipment and nets |
|
|
|
|
|
**EXPECTED OUTCOME:** |
|
|
70-80% recovery rate with prompt treatment. Symptoms should improve within 3-5 days. Full recovery typically takes 10-14 days.""", |
|
|
|
|
|
'Bacterial_gill_disease': """**IMMEDIATE ACTIONS (First 24 hours):** |
|
|
- Increase aeration immediately (CRITICAL - survival depends on oxygen) |
|
|
- Reduce feeding by 50% to minimize ammonia buildup |
|
|
- Test and adjust water quality (pH, ammonia, nitrite) |
|
|
- Separate severely affected fish to reduce stress |
|
|
|
|
|
**TREATMENT PROTOCOL (Days 1-10):** |
|
|
- Salt bath: 3% NaCl for 5-10 minutes daily for 7 days |
|
|
- Improve water circulation (add aerators/water pumps) |
|
|
- Reduce stocking density by 40% |
|
|
- Antibiotics: Florfenicol 10 mg/kg feed daily for 7-10 days (if severe) |
|
|
|
|
|
**PREVENTION MEASURES:** |
|
|
- Maintain dissolved oxygen > 5 mg/L continuously (CRITICAL) |
|
|
- Regular pond/tank cleaning (bi-weekly minimum) |
|
|
- Daily ammonia monitoring (keep < 0.02 mg/L) |
|
|
- Avoid sudden temperature changes (±2°C maximum) |
|
|
- Proper biofilter maintenance and regular backwashing |
|
|
|
|
|
**EXPECTED OUTCOME:** |
|
|
85-90% recovery if caught early (within 2-3 days). Symptoms improve within 48 hours of treatment. Mortality high if delayed beyond 5 days.""", |
|
|
|
|
|
'EUS': """**IMMEDIATE ACTIONS (First 24 hours):** |
|
|
- REPORT TO AUTHORITIES (notifiable disease in many regions) |
|
|
- Isolate all affected fish immediately |
|
|
- Implement 75% water change |
|
|
- Remove and properly dispose of dead/dying fish |
|
|
|
|
|
**TREATMENT PROTOCOL (Days 1-21):** |
|
|
- Topical disinfectant: Potassium permanganate 2-5 ppm bath (3 times weekly) |
|
|
- NO specific cure available - focus on supportive care |
|
|
- Maintain optimal water conditions (see below) |
|
|
- Consider humane culling of severely affected fish (>50% body lesions) |
|
|
- Secondary infection prevention: Oxytetracycline 50 mg/kg feed |
|
|
|
|
|
**PREVENTION MEASURES:** |
|
|
- NEVER use water from infected sources |
|
|
- Implement strict biosecurity: footbaths, equipment disinfection |
|
|
- Quarantine ALL new fish for minimum 21 days |
|
|
- Regular health surveillance (weekly inspections) |
|
|
- Maintain year-round optimal water quality |
|
|
|
|
|
**EXPECTED OUTCOME:** |
|
|
Variable (40-90% mortality depending on strain and timing). NO cure exists. Early detection critical. Focus on prevention and biosecurity.""", |
|
|
|
|
|
'Healthy_Fish': """**MAINTENANCE (Continue Good Practices):** |
|
|
- Continue current care routine (it's working excellently!) |
|
|
- Daily observations for early disease detection |
|
|
- Maintain current feeding schedule (adjust seasonally) |
|
|
- Regular water quality monitoring |
|
|
|
|
|
**PREVENTION MEASURES:** |
|
|
- Weekly water parameter testing (pH, ammonia, nitrite, nitrate, DO) |
|
|
- Quarantine new fish for 14-21 days before introduction |
|
|
- Clean and disinfect all equipment monthly |
|
|
- Daily behavioral observations (feeding response, swimming patterns) |
|
|
- Maintain detailed health records |
|
|
|
|
|
**EXPECTED OUTCOME:** |
|
|
Excellent prognosis. Continue preventive care to maintain optimal health status. Regular monitoring ensures early detection of any future issues.""" |
|
|
} |
|
|
|
|
|
|
|
|
default = """**IMPORTANT: Consult a fish health expert immediately.** |
|
|
|
|
|
This disease requires professional veterinary assessment for accurate diagnosis and treatment protocol. |
|
|
|
|
|
**IMMEDIATE STEPS:** |
|
|
1. Isolate affected fish to prevent potential spread |
|
|
2. Improve water quality (50% water change, increase aeration) |
|
|
3. Document all symptoms with photos and notes |
|
|
4. Contact your local aquaculture veterinarian or extension service |
|
|
|
|
|
**EMERGENCY CONTACT:** |
|
|
Seek professional help from: |
|
|
- Local fish health specialist |
|
|
- Aquaculture extension service |
|
|
- Veterinary diagnostic laboratory |
|
|
|
|
|
Do NOT attempt unguided treatment as it may worsen the condition.""" |
|
|
|
|
|
return treatments.get(disease_name, default) |
|
|
|