From 874e1bc41d171431fa10449f2cf5daace532156e Mon Sep 17 00:00:00 2001 From: jyong <718720800@qq.com> Date: Wed, 11 Jun 2025 13:12:18 +0800 Subject: [PATCH] r2 --- ...1_1155-224fba149d48_add_pipeline_info_6.py | 43 +++++++++++++++++++ api/models/dataset.py | 18 ++++++++ .../customized/customized_retrieval.py | 5 ++- .../database/database_retrieval.py | 4 +- api/services/rag_pipeline/rag_pipeline.py | 3 +- 5 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 api/migrations/versions/2025_06_11_1155-224fba149d48_add_pipeline_info_6.py diff --git a/api/migrations/versions/2025_06_11_1155-224fba149d48_add_pipeline_info_6.py b/api/migrations/versions/2025_06_11_1155-224fba149d48_add_pipeline_info_6.py new file mode 100644 index 0000000000..d2cd61f9ec --- /dev/null +++ b/api/migrations/versions/2025_06_11_1155-224fba149d48_add_pipeline_info_6.py @@ -0,0 +1,43 @@ +"""add_pipeline_info_6 + +Revision ID: 224fba149d48 +Revises: d466c551816f +Create Date: 2025-06-11 11:55:01.179201 + +""" +from alembic import op +import models as models +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '224fba149d48' +down_revision = 'd466c551816f' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('pipeline_built_in_templates', schema=None) as batch_op: + batch_op.add_column(sa.Column('created_by', models.types.StringUUID(), nullable=False)) + batch_op.add_column(sa.Column('updated_by', models.types.StringUUID(), nullable=True)) + + with op.batch_alter_table('pipeline_customized_templates', schema=None) as batch_op: + batch_op.add_column(sa.Column('created_by', models.types.StringUUID(), nullable=False)) + batch_op.add_column(sa.Column('updated_by', models.types.StringUUID(), nullable=True)) + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('pipeline_customized_templates', schema=None) as batch_op: + batch_op.drop_column('updated_by') + batch_op.drop_column('created_by') + + with op.batch_alter_table('pipeline_built_in_templates', schema=None) as batch_op: + batch_op.drop_column('updated_by') + batch_op.drop_column('created_by') + + # ### end Alembic commands ### diff --git a/api/models/dataset.py b/api/models/dataset.py index 85c10c06d7..da6e58f113 100644 --- a/api/models/dataset.py +++ b/api/models/dataset.py @@ -1189,6 +1189,15 @@ class PipelineBuiltInTemplate(Base): # type: ignore[name-defined] language = db.Column(db.String(255), nullable=False) created_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) updated_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) + created_by = db.Column(StringUUID, nullable=False) + updated_by = db.Column(StringUUID, nullable=True) + + @property + def created_user_name(self): + account = db.session.query(Account).filter(Account.id == self.created_by).first() + if account: + return account.name + return "" class PipelineCustomizedTemplate(Base): # type: ignore[name-defined] @@ -1208,9 +1217,18 @@ class PipelineCustomizedTemplate(Base): # type: ignore[name-defined] yaml_content = db.Column(db.Text, nullable=False) install_count = db.Column(db.Integer, nullable=False, default=0) language = db.Column(db.String(255), nullable=False) + created_by = db.Column(StringUUID, nullable=False) + updated_by = db.Column(StringUUID, nullable=True) created_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) updated_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) + @property + def created_user_name(self): + account = db.session.query(Account).filter(Account.id == self.created_by).first() + if account: + return account.name + return "" + class Pipeline(Base): # type: ignore[name-defined] __tablename__ = "pipelines" diff --git a/api/services/rag_pipeline/pipeline_template/customized/customized_retrieval.py b/api/services/rag_pipeline/pipeline_template/customized/customized_retrieval.py index d655dc93a1..5d0130bb8e 100644 --- a/api/services/rag_pipeline/pipeline_template/customized/customized_retrieval.py +++ b/api/services/rag_pipeline/pipeline_template/customized/customized_retrieval.py @@ -70,6 +70,9 @@ class CustomizedPipelineTemplateRetrieval(PipelineTemplateRetrievalBase): return { "id": pipeline_template.id, "name": pipeline_template.name, - "icon": pipeline_template.icon, + "icon_info": pipeline_template.icon, + "description": pipeline_template.description, + "chunk_structure": pipeline_template.chunk_structure, "export_data": yaml.safe_load(pipeline_template.yaml_content), + "created_by": pipeline_template.created_user_name, } diff --git a/api/services/rag_pipeline/pipeline_template/database/database_retrieval.py b/api/services/rag_pipeline/pipeline_template/database/database_retrieval.py index 741384afc2..91bc9f6cdd 100644 --- a/api/services/rag_pipeline/pipeline_template/database/database_retrieval.py +++ b/api/services/rag_pipeline/pipeline_template/database/database_retrieval.py @@ -70,7 +70,9 @@ class DatabasePipelineTemplateRetrieval(PipelineTemplateRetrievalBase): return { "id": pipeline_template.id, "name": pipeline_template.name, - "icon": pipeline_template.icon, + "icon_info": pipeline_template.icon, "chunk_structure": pipeline_template.chunk_structure, "export_data": yaml.safe_load(pipeline_template.yaml_content), + "created_by": pipeline_template.created_user_name, + "description": pipeline_template.description, } diff --git a/api/services/rag_pipeline/rag_pipeline.py b/api/services/rag_pipeline/rag_pipeline.py index f9bd5bbc51..f2ffce99b3 100644 --- a/api/services/rag_pipeline/rag_pipeline.py +++ b/api/services/rag_pipeline/rag_pipeline.py @@ -116,6 +116,7 @@ class RagPipelineService: customized_template.name = template_info.name customized_template.description = template_info.description customized_template.icon = template_info.icon_info.model_dump() + customized_template.updated_by = current_user.id db.session.commit() return customized_template @@ -694,7 +695,6 @@ class RagPipelineService: db.session.add(document) db.session.commit() - return workflow_node_execution def update_workflow( @@ -969,6 +969,7 @@ class RagPipelineService: position=max_position + 1 if max_position else 1, chunk_structure=dataset.chunk_structure, language="en-US", + created_by=current_user.id, ) db.session.add(pipeline_customized_template) db.session.commit()