@@ -336,13 +336,15 @@ def delete(self):
336336 knowledge .delete ()
337337 delete_embedding_by_knowledge (self .data .get ('knowledge_id' ))
338338 return True
339-
339+
340340 def export_excel (self , with_valid = True ):
341341 if with_valid :
342342 self .is_valid (raise_exception = True )
343343 document_list = QuerySet (Document ).filter (knowledge_id = self .data .get ('id' ))
344- paragraph_list = native_search (QuerySet (Paragraph ).filter (knowledge_id = self .data .get ("id" )), get_file_content (
345- os .path .join (PROJECT_DIR , "apps" , "knowledge" , 'sql' , 'list_paragraph_document_name.sql' )))
344+ paragraph_list = native_search (QuerySet (Paragraph ).filter (knowledge_id = self .data .get ("id" )),
345+ get_file_content (
346+ os .path .join (PROJECT_DIR , "apps" , "knowledge" , 'sql' ,
347+ 'list_paragraph_document_name.sql' )))
346348 problem_mapping_list = native_search (
347349 QuerySet (ProblemParagraphMapping ).filter (knowledge_id = self .data .get ("id" )), get_file_content (
348350 os .path .join (PROJECT_DIR , "apps" , "knowledge" , 'sql' , 'list_problem_mapping.sql' )),
@@ -359,8 +361,10 @@ def export_zip(self, with_valid=True):
359361 if with_valid :
360362 self .is_valid (raise_exception = True )
361363 document_list = QuerySet (Document ).filter (knowledge_id = self .data .get ('id' ))
362- paragraph_list = native_search (QuerySet (Paragraph ).filter (knowledge_id = self .data .get ("id" )), get_file_content (
363- os .path .join (PROJECT_DIR , "apps" , "knowledge" , 'sql' , 'list_paragraph_document_name.sql' )))
364+ paragraph_list = native_search (QuerySet (Paragraph ).filter (knowledge_id = self .data .get ("id" )),
365+ get_file_content (
366+ os .path .join (PROJECT_DIR , "apps" , "knowledge" , 'sql' ,
367+ 'list_paragraph_document_name.sql' )))
364368 problem_mapping_list = native_search (
365369 QuerySet (ProblemParagraphMapping ).filter (knowledge_id = self .data .get ("id" )), get_file_content (
366370 os .path .join (PROJECT_DIR , "apps" , "knowledge" , 'sql' , 'list_problem_mapping.sql' )),
@@ -411,7 +415,8 @@ def merge_problem(paragraph_list: List[Dict], problem_mapping_list: List[Dict]):
411415 class Create (serializers .Serializer ):
412416 user_id = serializers .UUIDField (required = True , label = _ ('user id' ))
413417 workspace_id = serializers .CharField (required = True , label = _ ('workspace id' ))
414- scope = serializers .ChoiceField (required = False , label = _ ('scope' ), default = KnowledgeScope .WORKSPACE , choices = KnowledgeScope .choices )
418+ scope = serializers .ChoiceField (required = False , label = _ ('scope' ), default = KnowledgeScope .WORKSPACE ,
419+ choices = KnowledgeScope .choices )
415420
416421 @staticmethod
417422 def post_embedding_knowledge (document_list , knowledge_id ):
@@ -428,7 +433,9 @@ def save_base(self, instance, with_valid=True):
428433 if with_valid :
429434 self .is_valid (raise_exception = True )
430435 KnowledgeBaseCreateRequest (data = instance ).is_valid (raise_exception = True )
436+ folder_id = instance .get ('folder_id' , 'root' )
431437 if QuerySet (Knowledge ).filter (workspace_id = self .data .get ('workspace_id' ),
438+ folder_id = folder_id ,
432439 name = instance .get ('name' )).exists ():
433440 raise AppApiException (500 , _ ('Knowledge base name duplicate!' ))
434441
@@ -441,7 +448,7 @@ def save_base(self, instance, with_valid=True):
441448 type = instance .get ('type' , KnowledgeType .BASE ),
442449 user_id = self .data .get ('user_id' ),
443450 scope = self .data .get ('scope' , KnowledgeScope .WORKSPACE ),
444- folder_id = instance . get ( ' folder_id' , 'root' ) ,
451+ folder_id = folder_id ,
445452 embedding_model_id = instance .get ('embedding' ),
446453 meta = instance .get ('meta' , {}),
447454 )
@@ -488,7 +495,9 @@ def save_web(self, instance: Dict, with_valid=True):
488495 self .is_valid (raise_exception = True )
489496 KnowledgeWebCreateRequest (data = instance ).is_valid (raise_exception = True )
490497
498+ folder_id = instance .get ('folder_id' , 'root' )
491499 if QuerySet (Knowledge ).filter (workspace_id = self .data .get ('workspace_id' ),
500+ folder_id = folder_id ,
492501 name = instance .get ('name' )).exists ():
493502 raise AppApiException (500 , _ ('Knowledge base name duplicate!' ))
494503
@@ -500,7 +509,7 @@ def save_web(self, instance: Dict, with_valid=True):
500509 user_id = self .data .get ('user_id' ),
501510 type = instance .get ('type' , KnowledgeType .WEB ),
502511 scope = self .data .get ('scope' , KnowledgeScope .WORKSPACE ),
503- folder_id = instance . get ( ' folder_id' , 'root' ) ,
512+ folder_id = folder_id ,
504513 embedding_model_id = instance .get ('embedding' ),
505514 meta = {
506515 'source_url' : instance .get ('source_url' ),
0 commit comments