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