| from typing import List, Dict, Optional |
|
|
| class RAGService: |
| def __init__(self): |
| |
| self.context_store: Dict[str, List[str]] = {} |
|
|
| def add_document(self, patient_id: str, content: str, doc_type: str = "general"): |
| """Adds a piece of information to the patient's context.""" |
| if patient_id not in self.context_store: |
| self.context_store[patient_id] = [] |
| |
| entry = f"--- DOCUMENT ({doc_type}) ---\n{content}\n" |
| self.context_store[patient_id].append(entry) |
| print(f"RAG: Added {doc_type} for patient {patient_id}") |
|
|
| def get_context(self, patient_id: str) -> str: |
| """Retrieves all context for a patient as a formatted string.""" |
| docs = self.context_store.get(patient_id, []) |
| if not docs: |
| return "" |
| |
| return "\n".join(docs) |
|
|
| |
| rag_service = RAGService() |
|
|