Santiago Casas
running HF streamlit with files
cf450f7
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
)