zhaoqingang
2024-12-31 6b4093952e555e1eb2713bd85133a5f697cda1e0
app/models/knowledge_model.py
@@ -1,5 +1,8 @@
import json
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
from sqlalchemy import Column, Integer, String, Table, ForeignKey, DateTime, BigInteger, Text, Float, Boolean
from sqlalchemy.orm import relationship, backref
@@ -10,28 +13,16 @@
    __mapper_args__ = {
        # "order_by": 'SEQ'
    }
    id = Column(String(32), primary_key=True)
    name = Column(String(128))
    create_time = Column(BigInteger)
    create_date = Column(DateTime)
    update_time = Column(BigInteger)
    update_date = Column(DateTime)
    avatar = Column(Text)
    tenant_id = Column(String(32))
    language = Column(String(32))
    description = Column(Text)
    embd_id = Column(String(128))
    permission = Column(String(16))
    created_by = Column(String(32))
    doc_num = Column(Integer)
    token_num = Column(Integer)
    chunk_num = Column(Integer)
    similarity_threshold = Column(Float)
    vector_similarity_weight = Column(Float)
    parser_id = Column(String(32))
    parser_config = Column(Text)
    status = Column(String(1))
    hide = Column(Boolean)
    id = Column(String(32), primary_key=True)  # id
    name = Column(String(128))                 # 名称
    create_date = Column(DateTime)             # 创建时间
    update_date = Column(DateTime)             # 更新时间
    avatar = Column(Text)                       # 图标
    tenant_id = Column(String(32))              # 创建人id
    description = Column(Text)                 # 说明
    status = Column(String(1))                    # 状态
    # kld_type = Column(String(1))                  # 知识库平台
    def get_id(self):
        return str(self.id)
@@ -40,23 +31,17 @@
        return {
            'id': self.id,
            'name': self.name,
            'create_time': self.create_time,
            'update_time': self.update_time,
            'create_time': self.create_date,
            'update_time': self.update_date,
            'avatar': self.avatar,
            'tenant_id': self.tenant_id,
            'language': self.language,
            'description': self.description,
            'embd_id': self.embd_id,
            'permission': self.permission,
            'created_by': self.created_by,
            'doc_num': self.doc_num,
            'token_num': self.token_num,
            'chunk_num': self.chunk_num,
            'similarity_threshold': self.similarity_threshold,
            'vector_similarity_weight': self.vector_similarity_weight,
            'parser_id': self.parser_id,
            'parser_config': json.loads(self.parser_config),
            'status': self.status
            'status': self.status,
            # 'kld_type': self.kld_type
        }
    def __repr__(self):
        return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)
        return '<Knowledge name:%r url:%r>\n' % (self.name, self.id)
class RoleParameter(BaseModel):
    role: str