From d07ce809bee3adf766deb7db5d06b589512131f3 Mon Sep 17 00:00:00 2001 From: jyong <718720800@qq.com> Date: Fri, 8 Aug 2025 14:18:30 +0800 Subject: [PATCH] add credential id --- .../datasets/rag_pipeline/datasource_content_preview.py | 2 ++ api/services/rag_pipeline/rag_pipeline.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/api/controllers/console/datasets/rag_pipeline/datasource_content_preview.py b/api/controllers/console/datasets/rag_pipeline/datasource_content_preview.py index bb02c659b8..af114e09db 100644 --- a/api/controllers/console/datasets/rag_pipeline/datasource_content_preview.py +++ b/api/controllers/console/datasets/rag_pipeline/datasource_content_preview.py @@ -28,6 +28,7 @@ class DataSourceContentPreviewApi(Resource): parser = reqparse.RequestParser() parser.add_argument("inputs", type=dict, required=True, nullable=False, location="json") parser.add_argument("datasource_type", type=str, required=True, location="json") + parser.add_argument("credential_id", type=str, required=False, location="json") args = parser.parse_args() inputs = args.get("inputs") @@ -45,6 +46,7 @@ class DataSourceContentPreviewApi(Resource): account=current_user, datasource_type=datasource_type, is_published=True, + credential_id=args.get("credential_id"), ) return preview_content, 200 diff --git a/api/services/rag_pipeline/rag_pipeline.py b/api/services/rag_pipeline/rag_pipeline.py index 1aa030f58c..363ff4f0e5 100644 --- a/api/services/rag_pipeline/rag_pipeline.py +++ b/api/services/rag_pipeline/rag_pipeline.py @@ -628,6 +628,7 @@ class RagPipelineService: account: Account, datasource_type: str, is_published: bool, + credential_id: Optional[str] = None, ) -> Mapping[str, Any]: """ Run published workflow datasource @@ -665,13 +666,14 @@ class RagPipelineService: datasource_type=DatasourceProviderType(datasource_type), ) datasource_provider_service = DatasourceProviderService() - credentials = datasource_provider_service.get_real_datasource_credentials( + credentials = datasource_provider_service.get_real_credential_by_id( tenant_id=pipeline.tenant_id, provider=datasource_node_data.get("provider_name"), plugin_id=datasource_node_data.get("plugin_id"), + credential_id=credential_id, ) if credentials: - datasource_runtime.runtime.credentials = credentials[0].get("credentials") + datasource_runtime.runtime.credentials = credentials match datasource_type: case DatasourceProviderType.ONLINE_DOCUMENT: datasource_runtime = cast(OnlineDocumentDatasourcePlugin, datasource_runtime)