Introduce a new Node with built-in multimodal support.
Key concepts:
Multimodal content is managed through a new MediaResource container class, alllowing nodes to carry multiple types of media content: text, images, audio, and video.
The MediaResource container is also responsible for managing the vector representation for a specific modality, both sparse and dense
Backward compatibility is ensured by moving common code up to the BaseNode class so that TextNode and all its children do not change in behaviour (included a field containing a typo)
Retrievers and indexes need to be adapted (or added new ones) in order to support Node
This PR is work in progress, once we agree on a design I'll proceed adding tests and proper documentation
Description
Introduce a new
Node
with built-in multimodal support.Key concepts:
MediaResource
container class, alllowing nodes to carry multiple types of media content: text, images, audio, and video.BaseNode
class so thatTextNode
and all its children do not change in behaviour (included a field containing a typo)Node
This PR is work in progress, once we agree on a design I'll proceed adding tests and proper documentation