dify/api/services/rag_pipeline/rag_pipeline_manage_service.py

24 lines
981 B
Python
Raw Normal View History

from core.plugin.entities.plugin_daemon import PluginDatasourceProviderEntity
from core.plugin.impl.datasource import PluginDatasourceManager
2025-05-30 00:37:27 +08:00
from services.datasource_provider_service import DatasourceProviderService
class RagPipelineManageService:
@staticmethod
def list_rag_pipeline_datasources(tenant_id: str) -> list[PluginDatasourceProviderEntity]:
"""
list rag pipeline datasources
"""
# get all builtin providers
manager = PluginDatasourceManager()
2025-06-03 19:02:57 +08:00
datasources = manager.fetch_datasource_providers(tenant_id)
2025-05-30 00:37:27 +08:00
for datasource in datasources:
datasource_provider_service = DatasourceProviderService()
2025-06-03 19:02:57 +08:00
credentials = datasource_provider_service.get_datasource_credentials(
tenant_id=tenant_id, provider=datasource.provider, plugin_id=datasource.plugin_id
)
2025-05-30 00:37:27 +08:00
if credentials:
datasource.is_authorized = True
return datasources