Spaces:
Sleeping
Sleeping
from abc import ABC | |
from pydantic import UUID4, Field | |
from .vectordb import VectorBaseDocument | |
class EmbeddedChunk(VectorBaseDocument, ABC): | |
content: str | |
embedding: list[float] | None | |
document_id: UUID4 | |
chunk_id: UUID4 | |
metadata: dict = Field(default_factory=dict) | |
similarity: float | None | |
def to_context(cls, chunks: list["EmbeddedChunk"]) -> str: | |
context = "" | |
for i, chunk in enumerate(chunks): | |
context += f""" | |
Chunk {i + 1}: | |
Type: {chunk.__class__.__name__} | |
Document ID: {chunk.document_id} | |
Chunk ID: {chunk.chunk_id} | |
Content: {chunk.content}\n | |
""" | |
return context | |
class Config: | |
name = "embedded_documents" | |
category = "Document" | |
use_vector_index = True | |