zhaoqingang
2024-12-18 c941b948f1fa8eff615985a83110a401ae426ab3
app/models/knowledge_model.py
@@ -1,24 +1,29 @@
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
from app.models.base_model import Base
class KnowledgeModel(Base):
    __tablename__ = 'knowledgebase'
    __tablename__ = 'knowledgebases'
    __mapper_args__ = {
        # "order_by": 'SEQ'
    }
    id = Column(String(32), primary_key=True)  # id
    id = Column(String(36), primary_key=True)  # id
    name = Column(String(128))                 # 名称
    create_date = Column(DateTime)             # 创建时间
    update_date = Column(DateTime)             # 更新时间
    avatar = Column(Text)                       # 图标
    create_date = Column(DateTime, default=datetime.now())             # 创建时间
    update_date = Column(DateTime, default=datetime.now(), onupdate=datetime.now())             # 更新时间
    permission = Column(String(32), default="me")
    tenant_id = Column(String(32))              # 创建人id
    description = Column(Text)                 # 说明
    status = Column(String(1))                    # 状态
    kld_type = Column(String(1))                  # 知识库平台
    documents = Column(Integer, default=0)                    # 文档
    icon = Column(String(128))                    # 文档
    knowledge_type = Column(String(1))                  # 知识库平台
    def get_id(self):
@@ -28,23 +33,22 @@
        return {
            'id': self.id,
            'name': self.name,
            'create_time': self.create_time,
            'update_time': self.update_time,
            'avatar': self.avatar,
            'tenant_id': self.tenant_id,
            'language': self.language,
            'description': self.description,
            'embd_id': self.embd_id,
            'create_time': self.create_date.strftime('%Y-%m-%d %H:%M:%S'),
            'update_time': self.update_date.strftime('%Y-%m-%d %H:%M:%S'),
            '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
            'user_id': self.tenant_id,
            'description': self.description,
            'status': self.status,
            'documents': self.documents if self.documents else 0,
            'icon': self.icon
        }
    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 klgParameter(BaseModel):
    id: str
    name: str
    description: Optional[str] = ""
    icon: str
    klgType: str