Files
fund-tracer/backend/app/models/ocr_block.py
2026-03-11 16:28:04 +08:00

21 lines
823 B
Python

import uuid
from sqlalchemy import String, Integer, Float, Text, ForeignKey
from sqlalchemy.dialects.postgresql import UUID, JSONB
from sqlalchemy.orm import Mapped, mapped_column, relationship
from app.core.database import Base
class OcrBlock(Base):
__tablename__ = "ocr_blocks"
id: Mapped[uuid.UUID] = mapped_column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
image_id: Mapped[uuid.UUID] = mapped_column(UUID(as_uuid=True), ForeignKey("evidence_images.id"), index=True)
content: Mapped[str] = mapped_column(Text, default="")
bbox: Mapped[dict] = mapped_column(JSONB, default=dict)
seq_order: Mapped[int] = mapped_column(Integer, default=0)
confidence: Mapped[float] = mapped_column(Float, default=0.0)
image = relationship("EvidenceImage", back_populates="ocr_blocks")