Spaces:
Sleeping
Sleeping
File size: 889 Bytes
cf450f7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import enum
from dataclasses import dataclass
from typing import Any, ClassVar
from pydantic import ConfigDict
from surrealdb import RecordID
from kaig.definitions import (
BaseDocument,
Relation,
)
class Chunk(BaseDocument):
model_config: ClassVar[ConfigDict] = ConfigDict(
arbitrary_types_allowed=True
)
id: RecordID
doc: RecordID
index: int
summary: str | None = None
metadata: dict[str, Any] | None = None # pyright: ignore[reportExplicitAny]
class Concept(BaseDocument):
id: RecordID
@dataclass
class Document:
id: RecordID | None
filename: str
class Tables(enum.Enum):
chunk = "chunk"
concept = "concept"
document = "document"
page = "page"
queue = "queue"
class EdgeTypes(enum.Enum):
MENTIONS_CONCEPT = Relation(
"MENTIONS_CONCEPT", Tables.chunk.value, Tables.concept.value
)
|