Kaynağa Gözat

Fix/6615 40 varchar limit on DatasetCollectionBinding and Embedding model name (#6723)

Hiroshige Aoki 9 ay önce
ebeveyn
işleme
e23461c837

+ 53 - 0
api/migrations/versions/eeb2e349e6ac_increase_max_model_name_length.py

@@ -0,0 +1,53 @@
+"""increase max model_name length
+
+Revision ID: eeb2e349e6ac
+Revises: 53bf8af60645
+Create Date: 2024-07-26 12:02:00.750358
+
+"""
+import sqlalchemy as sa
+from alembic import op
+
+import models as models
+
+# revision identifiers, used by Alembic.
+revision = 'eeb2e349e6ac'
+down_revision = '53bf8af60645'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    with op.batch_alter_table('dataset_collection_bindings', schema=None) as batch_op:
+        batch_op.alter_column('model_name',
+               existing_type=sa.VARCHAR(length=40),
+               type_=sa.String(length=255),
+               existing_nullable=False)
+
+    with op.batch_alter_table('embeddings', schema=None) as batch_op:
+        batch_op.alter_column('model_name',
+               existing_type=sa.VARCHAR(length=40),
+               type_=sa.String(length=255),
+               existing_nullable=False,
+               existing_server_default=sa.text("'text-embedding-ada-002'::character varying"))
+
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    with op.batch_alter_table('embeddings', schema=None) as batch_op:
+        batch_op.alter_column('model_name',
+               existing_type=sa.String(length=255),
+               type_=sa.VARCHAR(length=40),
+               existing_nullable=False,
+               existing_server_default=sa.text("'text-embedding-ada-002'::character varying"))
+
+    with op.batch_alter_table('dataset_collection_bindings', schema=None) as batch_op:
+        batch_op.alter_column('model_name',
+               existing_type=sa.String(length=255),
+               type_=sa.VARCHAR(length=40),
+               existing_nullable=False)
+
+    # ### end Alembic commands ###

+ 2 - 2
api/models/dataset.py

@@ -635,7 +635,7 @@ class Embedding(db.Model):
     )
 
     id = db.Column(StringUUID, primary_key=True, server_default=db.text('uuid_generate_v4()'))
-    model_name = db.Column(db.String(40), nullable=False,
+    model_name = db.Column(db.String(255), nullable=False,
                            server_default=db.text("'text-embedding-ada-002'::character varying"))
     hash = db.Column(db.String(64), nullable=False)
     embedding = db.Column(db.LargeBinary, nullable=False)
@@ -660,7 +660,7 @@ class DatasetCollectionBinding(db.Model):
 
     id = db.Column(StringUUID, primary_key=True, server_default=db.text('uuid_generate_v4()'))
     provider_name = db.Column(db.String(40), nullable=False)
-    model_name = db.Column(db.String(40), nullable=False)
+    model_name = db.Column(db.String(255), nullable=False)
     type = db.Column(db.String(40), server_default=db.text("'dataset'::character varying"), nullable=False)
     collection_name = db.Column(db.String(64), nullable=False)
     created_at = db.Column(db.DateTime, nullable=False, server_default=db.text('CURRENT_TIMESTAMP(0)'))