Files
2026-07-08 20:02:29 +08:00

19 lines
837 B
Python

import uuid
from sqlalchemy import Boolean, String, Text
from sqlalchemy.dialects.postgresql import UUID, JSONB
from sqlalchemy.orm import Mapped, mapped_column
from app.core.database import Base
from app.models.base import TimestampMixin, UUIDMixin
class AIModel(Base, UUIDMixin, TimestampMixin):
__tablename__ = "models"
name: Mapped[str] = mapped_column(String(100), nullable=False)
provider: Mapped[str] = mapped_column(String(50), nullable=False)
endpoint: Mapped[str] = mapped_column(String(255), nullable=False)
api_key: Mapped[str] = mapped_column(Text, nullable=False)
extra_params: Mapped[dict] = mapped_column(JSONB, default=dict, nullable=False)
is_enabled: Mapped[bool] = mapped_column(Boolean, default=True, nullable=False)
remark: Mapped[str | None] = mapped_column(Text, nullable=True)