r2 transform

This commit is contained in:
jyong 2025-07-16 19:26:33 +08:00
parent aaa5b0e295
commit a39d7e1f85
2 changed files with 26 additions and 20 deletions

View File

@ -16,6 +16,7 @@ from factories import variable_factory
from models.dataset import Dataset, Pipeline from models.dataset import Dataset, Pipeline
from models.workflow import Workflow, WorkflowType from models.workflow import Workflow, WorkflowType
from services.entities.knowledge_entities.rag_pipeline_entities import KnowledgeConfiguration, RetrievalSetting from services.entities.knowledge_entities.rag_pipeline_entities import KnowledgeConfiguration, RetrievalSetting
from services.plugin.plugin_migration import PluginMigration
class RagPipelineTransformService: class RagPipelineTransformService:
@ -234,6 +235,8 @@ class RagPipelineTransformService:
datasource_manager = PluginDatasourceManager() datasource_manager = PluginDatasourceManager()
plugin_migration = PluginMigration()
tool_manager = ToolManager() tool_manager = ToolManager()
installed_plugins_ids = [plugin.plugin_id for plugin in installed_plugins] installed_plugins_ids = [plugin.plugin_id for plugin in installed_plugins]
@ -244,25 +247,28 @@ class RagPipelineTransformService:
plugin_unique_identifier = dependency.get("value", {}).get("plugin_unique_identifier") plugin_unique_identifier = dependency.get("value", {}).get("plugin_unique_identifier")
plugin_id = plugin_unique_identifier.split(":")[0] plugin_id = plugin_unique_identifier.split(":")[0]
if plugin_id not in installed_plugins_ids: if plugin_id not in installed_plugins_ids:
if plugin_id == "langgenius/notion_datasource": # if plugin_id == "langgenius/notion_datasource":
datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/notion") # datasource = plugin_migration._fetch_plugin_unique_identifier(f"{plugin_id}/notion")
need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier) # need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
elif plugin_id == "langgenius/firecrawl_datasource": # elif plugin_id == "langgenius/firecrawl_datasource":
datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/firecrawl") # datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/firecrawl")
need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier) # need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
elif plugin_id == "langgenius/jina_datasource": # elif plugin_id == "langgenius/jina_datasource":
datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/jina") # datasource = datasource_manager.fetch_datasource_provider(tenant_id, f"{plugin_id}/jina")
need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier) # need_install_plugin_unique_identifiers.append(datasource.plugin_unique_identifier)
elif plugin_id == "langgenius/dify_extractor": # elif plugin_id == "langgenius/dify_extractor":
tool = tool_manager.get_plugin_provider(f"{plugin_id}/dify_extractor", tenant_id) # tool = tool_manager.get_plugin_provider(f"{plugin_id}/dify_extractor", tenant_id)
need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier) # need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
elif plugin_id == "langgenius/general_chunk": # elif plugin_id == "langgenius/general_chunker":
tool = tool_manager.get_plugin_provider(f"{plugin_id}/general_chunk", tenant_id) # tool = tool_manager.get_plugin_provider(f"{plugin_id}/general_chunker", tenant_id)
need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier) # need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
elif plugin_id == "langgenius/parent_child_chunk": # elif plugin_id == "langgenius/parentchild_chunker":
tool = tool_manager.get_plugin_provider(f"{plugin_id}/parent_child_chunk", tenant_id) # tool = tool_manager.get_plugin_provider(f"{plugin_id}/parentchild_chunker", tenant_id)
need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier) # need_install_plugin_unique_identifiers.append(tool.plugin_unique_identifier)
dependency["value"]["current_identifier"] = 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: if need_install_plugin_unique_identifiers:
installer_manager.install_from_identifiers( installer_manager.install_from_identifiers(
tenant_id, tenant_id,

View File

@ -2,7 +2,7 @@ dependencies:
- current_identifier: null - current_identifier: null
type: marketplace type: marketplace
value: value:
plugin_unique_identifier: langgenius/qa_chunk:0.0.1@ef14ad7edce1d293ef52f14429a9acb39fa146a7b91d63a31cda905539908453 plugin_unique_identifier: langgenius/general_chunker:0.0.1@e3da408b7277866404c3f884d599261f9d0b9003ea4ef7eb3b64489bdf39d18b
- current_identifier: null - current_identifier: null
type: marketplace type: marketplace
value: value: