diff --git a/haystack/preview/__init__.py b/haystack/preview/__init__.py index 8c6c6b879..2cbdfc850 100644 --- a/haystack/preview/__init__.py +++ b/haystack/preview/__init__.py @@ -1,4 +1,4 @@ from canals.component import component from haystack.preview.document_stores.decorator import document_store -from haystack.preview.dataclasses import Document +from haystack.preview.dataclasses import Document, ContentType, ExtractedAnswer, GeneratedAnswer, Answer from haystack.preview.pipeline import Pipeline, PipelineError, NoSuchDocumentStoreError, load_pipelines, save_pipelines diff --git a/haystack/preview/dataclasses/__init__.py b/haystack/preview/dataclasses/__init__.py index 6432e492b..37117cb20 100644 --- a/haystack/preview/dataclasses/__init__.py +++ b/haystack/preview/dataclasses/__init__.py @@ -1,3 +1,4 @@ from haystack.preview.dataclasses.document import Document, ContentType +from haystack.preview.dataclasses.answer import ExtractedAnswer, GeneratedAnswer, Answer -__all__ = ["Document", "ContentType"] +__all__ = ["Document", "ContentType", "ExtractedAnswer", "GeneratedAnswer", "Answer"] diff --git a/haystack/preview/dataclasses/answer.py b/haystack/preview/dataclasses/answer.py new file mode 100644 index 000000000..e08e8f57f --- /dev/null +++ b/haystack/preview/dataclasses/answer.py @@ -0,0 +1,25 @@ +from typing import Any, Dict, List, Optional +from dataclasses import dataclass +from haystack.preview.dataclasses.document import Document + + +@dataclass(frozen=True) +class Answer: + data: Any + question: str + metadata: Dict[str, Any] + + +@dataclass(frozen=True) +class ExtractedAnswer(Answer): + data: Optional[str] + document: Document + probability: float + start: Optional[int] = None + end: Optional[int] = None + + +@dataclass(frozen=True) +class GeneratedAnswer(Answer): + data: str + documents: List[Document] diff --git a/releasenotes/notes/add-v2-answer-class-31bc8d3116922594.yaml b/releasenotes/notes/add-v2-answer-class-31bc8d3116922594.yaml new file mode 100644 index 000000000..e10453dee --- /dev/null +++ b/releasenotes/notes/add-v2-answer-class-31bc8d3116922594.yaml @@ -0,0 +1,4 @@ +--- +features: + - Add Answer base class for haystack v2 + - Add GeneratedAnswer and ExtractedAnswer