|
|
|
|
@ -232,7 +232,7 @@ class RagPipelineTransformService:
|
|
|
|
|
def _deal_dependencies(self, pipeline_yaml: dict, tenant_id: str):
|
|
|
|
|
installer_manager = PluginInstaller()
|
|
|
|
|
installed_plugins = installer_manager.list_plugins(tenant_id)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
datasource_manager = PluginDatasourceManager()
|
|
|
|
|
|
|
|
|
|
plugin_migration = PluginMigration()
|
|
|
|
|
@ -247,37 +247,37 @@ class RagPipelineTransformService:
|
|
|
|
|
plugin_unique_identifier = dependency.get("value", {}).get("plugin_unique_identifier")
|
|
|
|
|
plugin_id = plugin_unique_identifier.split(":")[0]
|
|
|
|
|
if plugin_id not in installed_plugins_ids:
|
|
|
|
|
# if plugin_id == "langgenius/notion_datasource":
|
|
|
|
|
# datasource = plugin_migration._fetch_plugin_unique_identifier(f"{plugin_id}/notion")
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/firecrawl_datasource":
|
|
|
|
|
# datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/firecrawl")
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/jina_datasource":
|
|
|
|
|
# datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/jina")
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/dify_extractor":
|
|
|
|
|
# tool = tool_manager.get_plugin_provider(f"{plugin_id}/dify_extractor", tenant_id)
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/general_chunker":
|
|
|
|
|
# tool = tool_manager.get_plugin_provider(f"{plugin_id}/general_chunker", tenant_id)
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/parentchild_chunker":
|
|
|
|
|
# tool = tool_manager.get_plugin_provider(f"{plugin_id}/parentchild_chunker", tenant_id)
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
|
|
|
|
|
# dependency["value"]["current_identifier"] = plugin_unique_identifier
|
|
|
|
|
# if plugin_id == "langgenius/notion_datasource":
|
|
|
|
|
# datasource = plugin_migration._fetch_plugin_unique_identifier(f"{plugin_id}/notion")
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/firecrawl_datasource":
|
|
|
|
|
# datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/firecrawl")
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/jina_datasource":
|
|
|
|
|
# datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/jina")
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/dify_extractor":
|
|
|
|
|
# tool = tool_manager.get_plugin_provider(f"{plugin_id}/dify_extractor", tenant_id)
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/general_chunker":
|
|
|
|
|
# tool = tool_manager.get_plugin_provider(f"{plugin_id}/general_chunker", tenant_id)
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
|
|
|
|
|
# elif plugin_id == "langgenius/parentchild_chunker":
|
|
|
|
|
# tool = tool_manager.get_plugin_provider(f"{plugin_id}/parentchild_chunker", tenant_id)
|
|
|
|
|
# need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
|
|
|
|
|
# dependency["value"]["current_identifier"] = plugin_unique_identifier
|
|
|
|
|
plugin_unique_identifier = plugin_migration._fetch_plugin_unique_identifier(plugin_id)
|
|
|
|
|
if plugin_unique_identifier:
|
|
|
|
|
need_install_plugin_unique_identifiers.append(plugin_unique_identifier)
|
|
|
|
|
if need_install_plugin_unique_identifiers:
|
|
|
|
|
installer_manager.install_from_identifiers(
|
|
|
|
|
tenant_id,
|
|
|
|
|
need_install_plugin_unique_identifiers,
|
|
|
|
|
PluginInstallationSource.Marketplace,
|
|
|
|
|
metas=[
|
|
|
|
|
{
|
|
|
|
|
"plugin_unique_identifier": identifier,
|
|
|
|
|
}
|
|
|
|
|
for identifier in need_install_plugin_unique_identifiers
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
tenant_id,
|
|
|
|
|
need_install_plugin_unique_identifiers,
|
|
|
|
|
PluginInstallationSource.Marketplace,
|
|
|
|
|
metas=[
|
|
|
|
|
{
|
|
|
|
|
"plugin_unique_identifier": identifier,
|
|
|
|
|
}
|
|
|
|
|
for identifier in need_install_plugin_unique_identifiers
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
|