Files
SnapAndAnaly/backend/app/models/setting.py
T

27 lines
754 B
Python
Raw Normal View History

"""键值设置:Provider 配置等以 JSON 形式存储。"""
from __future__ import annotations
from sqlalchemy import String, Text
from sqlalchemy.orm import Mapped, mapped_column
from app.core.db import Base
class Setting(Base):
"""通用键值设置。"""
__tablename__ = "settings"
key: Mapped[str] = mapped_column(String(64), primary_key=True)
value_json: Mapped[str] = mapped_column(Text, nullable=False, default="null")
# 设置键名常量
KEY_OCR_PROVIDER = "ocr_provider"
KEY_VLM_PROVIDER = "vlm_provider"
KEY_RECOGNITION_MODE = "recognition_mode" # ocr | vision | hybrid
KEY_CATEGORY_HINT = "category_hint"
# 默认识别模式:混合(OCR 文本 + 视觉 AI 联合分析)
DEFAULT_RECOGNITION_MODE = "hybrid"