Skip to content

[FEAT]: AI-Powered Incident Similarity Search for Historical Incident Analysis#292

Open
Mahendrareddy2006 wants to merge 8 commits intofireform-core:mainfrom
Mahendrareddy2006:feat/incident-similarity-search
Open

[FEAT]: AI-Powered Incident Similarity Search for Historical Incident Analysis#292
Mahendrareddy2006 wants to merge 8 commits intofireform-core:mainfrom
Mahendrareddy2006:feat/incident-similarity-search

Conversation

@Mahendrareddy2006
Copy link

name: 🚀 Feature Request
about: Suggest an idea or a new capability for FireForm.
title: "[FEAT]: AI-Powered Incident Similarity Search for Historical Incident Analysis"
labels: enhancement, ai, analytics
assignees: ''

📝 Description
This PR introduces an AI-powered Incident Similarity Search system to FireForm. It enables semantic comparison of new incident descriptions with previously recorded incidents and returns the most relevant historical cases.

The feature enhances FireForm by extending its capabilities beyond form filling into intelligent incident analysis.


💡 Key Features

  • Semantic similarity search using sentence-transformers
  • Fast vector search powered by FAISS
  • Persistent storage of embeddings and incident data
  • Ranked results with normalized similarity scores
  • Seamless integration into the existing processing pipeline

🛠️ Implementation Details

  • Added new module: 'src/incident_similarity.py'
  • Integrated similarity search into 'Controller.fill_form()'
  • Used 'all-MiniLM-L6-v2' for generating embeddings
  • Implemented FAISS ('IndexFlatL2') for vector similarity search
  • Added persistence using:
    • 'faiss_index.bin'
    • 'incidents.pkl'
  • Converted distance scores into normalized similarity scores for better interpretability
  • Ensured generated files are excluded via .gitignore

🔄 Workflow
User Input

Timeline Extraction

Similarity Search (existing incidents)

Form Filling

Store New Incident (persistent)

Return Response (with similar incidents)


✅ Acceptance Criteria

  • Incident descriptions converted into embeddings
  • Embeddings stored in a FAISS index
  • Similar incidents retrieved based on semantic similarity
  • Results returned as a ranked list
  • Integrated without breaking existing functionality
  • All existing tests pass successfully

🧪 Testing

  • Verified similarity search with sample incident data
  • Confirmed relevant ranking for semantically similar inputs
  • All tests pass: 2 passed, 0 failed

📌 Future Improvements

  • Add metadata filtering (location, date, incident type)
  • Expose similarity search via dedicated API endpoint
  • Switch to cosine similarity for improved accuracy
  • Add more comprehensive unit tests for similarity logic

🔥 Impact

This feature transforms FireForm into a more intelligent system by enabling:

  • Faster access to relevant historical incidents
  • Improved situational awareness for responders
  • A foundation for future analytics and decision-support features

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant