From 3f44b690c26ab9cfd35fb3c0242afd2323c0bbcb Mon Sep 17 00:00:00 2001 From: Jyong <76649700+JohnJyong@users.noreply.github.com> Date: Wed, 19 Mar 2025 15:16:05 +0800 Subject: [PATCH] check high-quality dataset with empty embedding model provider (#16181) --- api/controllers/console/datasets/datasets.py | 2 +- api/controllers/service_api/dataset/dataset.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/api/controllers/console/datasets/datasets.py b/api/controllers/console/datasets/datasets.py index 6532e046c9..fed304f728 100644 --- a/api/controllers/console/datasets/datasets.py +++ b/api/controllers/console/datasets/datasets.py @@ -79,7 +79,7 @@ class DatasetListApi(Resource): data = marshal(datasets, dataset_detail_fields) for item in data: # convert embedding_model_provider to plugin standard format - if item["indexing_technique"] == "high_quality": + if item["indexing_technique"] == "high_quality" and item["embedding_model_provider"]: item["embedding_model_provider"] = str(ModelProviderID(item["embedding_model_provider"])) item_model = f"{item['embedding_model']}:{item['embedding_model_provider']}" if item_model in model_names: diff --git a/api/controllers/service_api/dataset/dataset.py b/api/controllers/service_api/dataset/dataset.py index 49acdd693a..8ab743dc44 100644 --- a/api/controllers/service_api/dataset/dataset.py +++ b/api/controllers/service_api/dataset/dataset.py @@ -7,6 +7,7 @@ from controllers.service_api import api from controllers.service_api.dataset.error import DatasetInUseError, DatasetNameDuplicateError from controllers.service_api.wraps import DatasetApiResource from core.model_runtime.entities.model_entities import ModelType +from core.plugin.entities.plugin import ModelProviderID from core.provider_manager import ProviderManager from fields.dataset_fields import dataset_detail_fields from libs.login import current_user @@ -48,7 +49,8 @@ class DatasetListApi(DatasetApiResource): data = marshal(datasets, dataset_detail_fields) for item in data: - if item["indexing_technique"] == "high_quality": + if item["indexing_technique"] == "high_quality" and item["embedding_model_provider"]: + item["embedding_model_provider"] = str(ModelProviderID(item["embedding_model_provider"])) item_model = f"{item['embedding_model']}:{item['embedding_model_provider']}" if item_model in model_names: item["embedding_available"] = True