Spaces:
Runtime error
Runtime error
|
Download documentation/backend_ai.md from Darshankumarr03/Swift-Query: direct link, hf CLI and curl.
- Browser
- Download file 2.61 kB
-
https://huggingface.co/spaces/Darshankumarr03/Swift-Query/resolve/main/documentation/backend_ai.md
- Command line
-
hf download hf://spaces/Darshankumarr03/Swift-Query/documentation/backend_ai.md
-
curl -L -o backend_ai.md https://huggingface.co/spaces/Darshankumarr03/Swift-Query/resolve/main/documentation/backend_ai.md
2.61 kB
SwiftQuery AI Documentation
Overview
The AI module in SwiftQuery powers intelligent features such as Retrieval-Augmented Generation (RAG) for patient data, similar case search, and clinical note enhancement. It leverages Google Gemini for generation, CyborgDB for vector storage, and SentenceTransformers for embeddings.
Key Components
1. Patient RAG Pipeline (ai_agents/patient_rag.py)
Class: SimilarPatientRAGPipeline
This pipeline manages the context for AI interactions.
Session Management:
start_patient_session(patient_id): Initializes an ephemeral, in-memory vector store for a specific patient. It extracts data (History, Consultations, Tests, Chats) from MongoDB, chunks it, and ingests it into CyborgDB.end_patient_session(patient_id): Cleans up the in-memory store to free resources.
RAG Query:
rag_query(query, patient_id): Retrieves relevant chunks from the patient's active session store and uses Google Gemini to generate a context-aware answer.
Similar Patient Search:
similar_patient_search(query): Builds/uses a global anonymized vector store containing clinical data from all patients. It finds cases with similar symptoms or conditions to aid diagnosis.
2. Clinical Note Enhancer (ai_agents/clinical_summarizer.py)
Class: ClinicalNoteEnhancer
This tool improves the quality of raw clinical text entered by assistants.
- Function:
enhance_text(text)- Uses Gemini to rephrase medical text for clarity, grammar, and professionalism without altering facts.
- Batch Processing:
enhance_patient_records(patient_id)- Iterates through a patient's entire record (History, Consultations, Reports) and enhances all text fields. Supports a
dry_runmode to preview changes.
- Iterates through a patient's entire record (History, Consultations, Reports) and enhances all text fields. Supports a
3. Chat Interface (utils/blueprints/chat.py)
- Route:
/api/chat - Logic:
- Receives user message.
- If the message starts with
/similar, it triggersrag_pipeline.similar_patient_search. - Otherwise, it triggers
rag_pipeline.rag_query. - Logs the interaction to
chatsessionandchatmessagecollections.
Dependency Configuration
- Embeddings:
all-MiniLM-L6-v2(via SentenceTransformers). - LLM:
gemini-flash-latest(via Google Generative AI). - Vector DB:
CyborgDB(in-memory execution).
Error Handling
- All AI failures (e.g., API limits, network issues) are caught and logged.
- The UI receives graceful error messages instead of server crashes.
- Sessions attempt auto-recovery if a context is not found in memory (e.g., due to worker restarts).