1234567891011121314151617181920212223242526272829303132333435 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- from datetime import datetime
- import sqlalchemy as sa
- from pymysql.protocol import NULL_COLUMN
- from sqlalchemy import TIMESTAMP, text
- from common.model import Base, id_key_str
- from sqlalchemy.dialects import mysql
- from sqlalchemy.orm import Mapped, mapped_column
- class MismatchRecords(Base):
- """call record"""
- __tablename__ = 'mismatch_records'
- id: Mapped[id_key_str] = mapped_column()
- created_at: Mapped[datetime | None] = mapped_column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP'), comment='Create Time | 创建日期')
- updated_at: Mapped[datetime | None] = mapped_column(TIMESTAMP, nullable=False, server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), comment='Update Time | 修改日期')
- external_id: Mapped[str] = mapped_column(sa.String(255), default='', sort_order=2, comment='外部id')
- industry_type: Mapped[int] = mapped_column(sa.Integer(), default=0, sort_order=3, comment='评分规则代码 0 通用 1 教育')
- chat_history: Mapped[str] = mapped_column(sa.TEXT(), default='', sort_order=4, comment='通话记录')
- missed: Mapped[str] = mapped_column(sa.TEXT(), default='', sort_order=5, comment='未匹配内容')
- ignore: Mapped[int] = mapped_column(mysql.TINYINT(), default=0, sort_order=6, comment='0 自动过滤(默认) 1 手动标记忽略 2 不忽略强制分析')
- llm_ignore: Mapped[int] = mapped_column(mysql.TINYINT(), default=0, sort_order=7, comment='0 未过滤 1被忽略 2未被忽略')
- org_id: Mapped[int] = mapped_column(sa.BIGINT(), default=0, sort_order=8, comment='机构 ID')
- status: Mapped[int] = mapped_column(mysql.TINYINT(), default=0, sort_order=9, comment='状态 0 入库 1 已判断 2 已回调')
- ignore_response_data: Mapped[dict | None] = mapped_column(sa.JSON(), default=None, sort_order=10, comment='')
- request_data: Mapped[dict | None] = mapped_column(sa.JSON(), default=None, sort_order=11, comment='')
- response_data: Mapped[dict | None] = mapped_column(sa.JSON(), default=None, sort_order=12, comment='')
- user_intent: Mapped[str] = mapped_column(sa.TEXT(), default=None, sort_order=13, comment='针对未匹配内容,推理用户的真实目的')
- similar_reply: Mapped[list[str] | None] = mapped_column(sa.JSON(), default=None, sort_order=14, comment='针对未匹配内容,生成类似的回复')
- keywords: Mapped[list[str] | None] = mapped_column(sa.JSON(), default=None, sort_order=15, comment='生成辅助关键词')
- regular: Mapped[list[str] | None] = mapped_column(sa.JSON(), default=None, sort_order=16, comment='生成辅助正则表达式')
|