feat: upgrade langchain (#430)
Co-authored-by: jyong <718720800@qq.com>
This commit is contained in:
@@ -66,6 +66,23 @@ class Dataset(db.Model):
|
||||
def document_count(self):
|
||||
return db.session.query(func.count(Document.id)).filter(Document.dataset_id == self.id).scalar()
|
||||
|
||||
@property
|
||||
def available_document_count(self):
|
||||
return db.session.query(func.count(Document.id)).filter(
|
||||
Document.dataset_id == self.id,
|
||||
Document.indexing_status == 'completed',
|
||||
Document.enabled == True,
|
||||
Document.archived == False
|
||||
).scalar()
|
||||
|
||||
@property
|
||||
def available_segment_count(self):
|
||||
return db.session.query(func.count(DocumentSegment.id)).filter(
|
||||
DocumentSegment.dataset_id == self.id,
|
||||
DocumentSegment.status == 'completed',
|
||||
DocumentSegment.enabled == True
|
||||
).scalar()
|
||||
|
||||
@property
|
||||
def word_count(self):
|
||||
return Document.query.with_entities(func.coalesce(func.sum(Document.word_count))) \
|
||||
@@ -260,7 +277,7 @@ class Document(db.Model):
|
||||
|
||||
@property
|
||||
def dataset(self):
|
||||
return Dataset.query.get(self.dataset_id)
|
||||
return db.session.query(Dataset).filter(Dataset.id == self.dataset_id).one_or_none()
|
||||
|
||||
@property
|
||||
def segment_count(self):
|
||||
@@ -395,7 +412,18 @@ class DatasetKeywordTable(db.Model):
|
||||
|
||||
@property
|
||||
def keyword_table_dict(self):
|
||||
return json.loads(self.keyword_table) if self.keyword_table else None
|
||||
class SetDecoder(json.JSONDecoder):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(object_hook=self.object_hook, *args, **kwargs)
|
||||
|
||||
def object_hook(self, dct):
|
||||
if isinstance(dct, dict):
|
||||
for keyword, node_idxs in dct.items():
|
||||
if isinstance(node_idxs, list):
|
||||
dct[keyword] = set(node_idxs)
|
||||
return dct
|
||||
|
||||
return json.loads(self.keyword_table, cls=SetDecoder) if self.keyword_table else None
|
||||
|
||||
|
||||
class Embedding(db.Model):
|
||||
|
Reference in New Issue
Block a user