intent_records.py 1.9 KB

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from datetime import datetime
  4. from uuid import UUID
  5. import sqlalchemy as sa
  6. from sqlalchemy import TIMESTAMP, text
  7. from common.model import Base, id_key_str
  8. from sqlalchemy.dialects import mysql
  9. from sqlalchemy.orm import Mapped, mapped_column
  10. class IntentRecords(Base):
  11. """call record"""
  12. __tablename__ = 'intent_records'
  13. id: Mapped[id_key_str] = mapped_column()
  14. created_at: Mapped[datetime | None] = mapped_column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP'), comment='Create Time | 创建日期')
  15. updated_at: Mapped[datetime | None] = mapped_column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), comment='Update Time | 修改日期')
  16. external_id: Mapped[str] = mapped_column(sa.String(255), default='', sort_order=2, comment='外部id')
  17. industry_type: Mapped[int] = mapped_column(sa.Integer(), default=0, sort_order=3, comment='评分规则代码 0 通用 1 教育')
  18. chat_history: Mapped[str] = mapped_column(sa.TEXT(), default='', sort_order=4, comment='通话记录')
  19. manual_intent: Mapped[int | None] = mapped_column(mysql.TINYINT(), default=None, sort_order=5, comment='人工意向度 1 有意向 2 无意向 3 其他')
  20. llm_intent: Mapped[int | None] = mapped_column(mysql.TINYINT(), default=None, sort_order=6, comment='大模型意向度 1 有意向 2 无意向 3 不确定')
  21. org_id: Mapped[int] = mapped_column(sa.BIGINT(), default=0, sort_order=7, comment='机构 ID')
  22. status: Mapped[int] = mapped_column(mysql.TINYINT(), default=0, sort_order=10, comment='状态 0 入库 1 已判断 2 已回调')
  23. request_data: Mapped[dict | None] = mapped_column(sa.JSON(), default=None, sort_order=12, comment='')
  24. response_data: Mapped[dict | None] = mapped_column(sa.JSON(), default=None, sort_order=13, comment='')