Files
trade-assistant/backend/app/models/corpus.py
T

26 lines
965 B
Python

from sqlalchemy import Column, String, Integer, DateTime, Text, Float, Boolean
from sqlalchemy.dialects.postgresql import UUID, JSONB
from datetime import datetime
from app.database import Base
import uuid
class CorpusEntry(Base):
__tablename__ = "corpus_entries"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
source_text = Column(Text, nullable=False)
target_text = Column(Text, nullable=False)
source_lang = Column(String(20))
target_lang = Column(String(20))
task_type = Column(String(50), nullable=False)
domain = Column(String(100), default="general")
provider_used = Column(String(50))
quality_score = Column(Float)
user_edited = Column(Boolean, default=False)
user_rating = Column(Integer)
usage_count = Column(Integer, default=0)
embedding = Column(JSONB)
entry_metadata = Column("metadata", JSONB, default={})
created_at = Column(DateTime, default=datetime.utcnow)