add metadata migration
This commit is contained in:
parent
96cf0ed5af
commit
3c3e0a35f4
@ -79,6 +79,7 @@ dataset_detail_fields = {
|
|||||||
"external_knowledge_info": fields.Nested(external_knowledge_info_fields),
|
"external_knowledge_info": fields.Nested(external_knowledge_info_fields),
|
||||||
"external_retrieval_model": fields.Nested(external_retrieval_model_fields, allow_null=True),
|
"external_retrieval_model": fields.Nested(external_retrieval_model_fields, allow_null=True),
|
||||||
"doc_metadata": fields.List(fields.Nested(doc_metadata_fields)),
|
"doc_metadata": fields.List(fields.Nested(doc_metadata_fields)),
|
||||||
|
"built_in_field_enabled": fields.Boolean,
|
||||||
}
|
}
|
||||||
|
|
||||||
dataset_query_detail_fields = {
|
dataset_query_detail_fields = {
|
||||||
|
|||||||
@ -16,6 +16,7 @@ from sqlalchemy.dialects.postgresql import JSONB
|
|||||||
from sqlalchemy.orm import Mapped
|
from sqlalchemy.orm import Mapped
|
||||||
|
|
||||||
from configs import dify_config
|
from configs import dify_config
|
||||||
|
from core.rag.index_processor.constant.built_in_field import BuiltInField
|
||||||
from core.rag.retrieval.retrieval_methods import RetrievalMethod
|
from core.rag.retrieval.retrieval_methods import RetrievalMethod
|
||||||
from extensions.ext_storage import storage
|
from extensions.ext_storage import storage
|
||||||
from services.entities.knowledge_entities.knowledge_entities import ParentMode, Rule
|
from services.entities.knowledge_entities.knowledge_entities import ParentMode, Rule
|
||||||
@ -444,8 +445,45 @@ class Document(db.Model): # type: ignore[name-defined]
|
|||||||
"value": self.doc_metadata.get(metadata.type),
|
"value": self.doc_metadata.get(metadata.type),
|
||||||
}
|
}
|
||||||
metadata_list.append(metadata_dict)
|
metadata_list.append(metadata_dict)
|
||||||
|
# deal built-in fields
|
||||||
|
metadata_list.extend(self.get_built_in_fields())
|
||||||
|
|
||||||
return metadata_list
|
return metadata_list
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def get_built_in_fields(self):
|
||||||
|
built_in_fields = []
|
||||||
|
built_in_fields.append({
|
||||||
|
"id": "built-in",
|
||||||
|
"name": BuiltInField.document_name,
|
||||||
|
"type": "string",
|
||||||
|
"value": self.name,
|
||||||
|
})
|
||||||
|
built_in_fields.append({
|
||||||
|
"id": "built-in",
|
||||||
|
"name": BuiltInField.uploader,
|
||||||
|
"type": "string",
|
||||||
|
"value": self.uploader,
|
||||||
|
})
|
||||||
|
built_in_fields.append({
|
||||||
|
"id": "built-in",
|
||||||
|
"name": BuiltInField.upload_date,
|
||||||
|
"type": "date",
|
||||||
|
"value": self.created_at,
|
||||||
|
})
|
||||||
|
built_in_fields.append({
|
||||||
|
"id": "built-in",
|
||||||
|
"name": BuiltInField.last_update_date,
|
||||||
|
"type": "date",
|
||||||
|
"value": self.updated_at,
|
||||||
|
})
|
||||||
|
built_in_fields.append({
|
||||||
|
"id": "built-in",
|
||||||
|
"name": BuiltInField.source,
|
||||||
|
"type": "string",
|
||||||
|
"value": self.data_source_info,
|
||||||
|
})
|
||||||
|
return built_in_fields
|
||||||
|
|
||||||
def process_rule_dict(self):
|
def process_rule_dict(self):
|
||||||
if self.dataset_process_rule_id:
|
if self.dataset_process_rule_id:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user