CHI-tography / models_semantic_search.py
ocantocarlos's picture
feat: add files for hf space deployement
9e2a8ba
from pydantic import BaseModel
from sqlalchemy import Column
from sqlalchemy import Float
from sqlalchemy import Integer
from sqlalchemy import String
from sqlalchemy.ext.declarative import declarative_base
from settings import CLUSTER_TOP_WORDS_TABLE_NAME
from settings import METADATA_TABLE_NAME
Base = declarative_base()
class SearchRequest(BaseModel):
input_text: str
limit: int = 30
min_year: int | None = None
max_year: int | None = 2025
limit_dense: int = 2_000
score_threshold_dense: float = 0.7
limit_sparse: int = 1_000
class SemanticSearchResults(BaseModel):
doi: str
score: float
class MetadataPosition(BaseModel):
doi: str
cluster: str
x: float
y: float
title: str
year: int
class MetadataFull(MetadataPosition):
abstract: str
scholar_link: str
class MetadataDB(Base):
__tablename__ = METADATA_TABLE_NAME
doi = Column(String, primary_key=True)
title = Column(String)
abstract = Column(String)
cluster = Column(String)
year = Column(Integer)
x = Column(Float)
y = Column(Float)
scholar_link = Column(String)
class ClusterWordsDB(Base):
__tablename__ = CLUSTER_TOP_WORDS_TABLE_NAME
cluster = Column(String, primary_key=True)
top_words = Column(String)