from dataclasses import dataclass from typing import Optional, List @dataclass class GraphRAGResponse: question: str answer: str evidence: Optional[str] = None entities_used: Optional[List[str]] = None relations_used: Optional[List[str]] = None source_documents: Optional[List[str]] = None def __str__(self): return ( "\nGraphRAGResponse(\n" f" question = {self.question!r}\n" f" answer = {self.answer!r}\n" f" evidence = {self.evidence!r}\n" f" entities_used = {self.entities_used!r}\n" f" relations_used = {self.relations_used!r}\n" f" source_documents = {self.source_documents!r}\n" ")" )