From c941b948f1fa8eff615985a83110a401ae426ab3 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期三, 18 十二月 2024 11:03:49 +0800 Subject: [PATCH] 知识库和智能体同步 --- app/models/knowledge_model.py | 50 +++++++++++++++++++++++++++----------------------- 1 files changed, 27 insertions(+), 23 deletions(-) diff --git a/app/models/knowledge_model.py b/app/models/knowledge_model.py index bde8241..30aca5d 100644 --- a/app/models/knowledge_model.py +++ b/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)) # 鍒涘缓浜篿d 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) \ No newline at end of file + 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 \ No newline at end of file -- Gitblit v1.8.0