MCPcopy Create free account
hub / github.com/1Panel-dev/MaxKB / ProblemParagraphManage

Class ProblemParagraphManage

apps/knowledge/serializers/common.py:83–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

81
82
83class ProblemParagraphManage:
84 def __init__(self, problem_paragraph_object_list: List[ProblemParagraphObject], knowledge_id):
85 self.knowledge_id = knowledge_id
86 self.problem_paragraph_object_list = problem_paragraph_object_list
87
88 def to_problem_model_list(self):
89 problem_list = [item.problem_content for item in self.problem_paragraph_object_list]
90 exists_problem_list = []
91 if len(self.problem_paragraph_object_list) > 0:
92 # 查询到已存在的问题列表
93 exists_problem_list = QuerySet(Problem).filter(knowledge_id=self.knowledge_id,
94 content__in=problem_list).all()
95 problem_content_dict = {}
96 problem_model_list = [
97 or_get(
98 exists_problem_list,
99 problemParagraphObject.problem_content,
100 problemParagraphObject.knowledge_id,
101 problemParagraphObject.document_id,
102 problemParagraphObject.paragraph_id, problem_content_dict
103 ) for problemParagraphObject in self.problem_paragraph_object_list]
104
105 problem_paragraph_mapping_list = [
106 ProblemParagraphMapping(
107 id=uuid.uuid7(),
108 document_id=document_id,
109 problem_id=problem_model.id,
110 paragraph_id=paragraph_id,
111 knowledge_id=self.knowledge_id
112 ) for problem_model, document_id, paragraph_id in problem_model_list]
113
114 result = [
115 problem_model for problem_model, is_create in problem_content_dict.values() if is_create
116 ], problem_paragraph_mapping_list
117 return result
118
119
120def get_embedding_model_by_knowledge_id_list(knowledge_id_list: List):

Callers 7

import_knowledgeMethod · 0.90
save_baseMethod · 0.90
syncMethod · 0.90
saveMethod · 0.90
batch_saveMethod · 0.90
saveMethod · 0.90
saveMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected