Add Answer class (#5563)

* add answer class

* inheritance instead of composition

* make answer immutable

* Remove probability field for GenerativeAnswer

* rename Answer classes

* fix name change

* add release notes
This commit is contained in:
MichelBartels 2023-08-16 11:56:22 +02:00 committed by GitHub
parent 8652d00b54
commit 93b3400440
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 2 deletions

View File

@ -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

View File

@ -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"]

View File

@ -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]

View File

@ -0,0 +1,4 @@
---
features:
- Add Answer base class for haystack v2
- Add GeneratedAnswer and ExtractedAnswer