diff --git a/migrations/versions/119a52b73c60_support_external_embeddings.py b/migrations/versions/119a52b73c60_support_external_embeddings.py index ea8aed97c..cc5117f90 100644 --- a/migrations/versions/119a52b73c60_support_external_embeddings.py +++ b/migrations/versions/119a52b73c60_support_external_embeddings.py @@ -25,6 +25,7 @@ from pgvector.sqlalchemy import Vector from migrations.utils import column_exists, constraint_exists, get_schema, index_exists +from src.config import settings # revision identifiers, used by Alembic. revision: str = "119a52b73c60" @@ -42,7 +43,7 @@ def upgrade() -> None: op.alter_column( "message_embeddings", "embedding", - existing_type=Vector(1536), + existing_type=Vector(settings.EMBEDDING.VECTOR_DIMENSIONS), nullable=True, schema=schema, ) @@ -50,7 +51,7 @@ def upgrade() -> None: op.alter_column( "documents", "embedding", - existing_type=Vector(1536), + existing_type=Vector(settings.EMBEDDING.VECTOR_DIMENSIONS), nullable=True, schema=schema, ) diff --git a/migrations/versions/917195d9b5e9_add_messageembedding_table.py b/migrations/versions/917195d9b5e9_add_messageembedding_table.py index 4eb737390..4fe710bcc 100644 --- a/migrations/versions/917195d9b5e9_add_messageembedding_table.py +++ b/migrations/versions/917195d9b5e9_add_messageembedding_table.py @@ -28,7 +28,7 @@ def upgrade() -> None: "message_embeddings", sa.Column("id", sa.BigInteger(), sa.Identity(), nullable=False), sa.Column("content", sa.Text(), nullable=False), - sa.Column("embedding", Vector(1536), nullable=False), + sa.Column("embedding", Vector(settings.EMBEDDING.VECTOR_DIMENSIONS), nullable=False), sa.Column("message_id", sa.Text(), nullable=False), sa.Column("workspace_name", sa.Text(), nullable=False), sa.Column("session_name", sa.Text(), nullable=True), diff --git a/migrations/versions/a1b2c3d4e5f6_initial_schema.py b/migrations/versions/a1b2c3d4e5f6_initial_schema.py index cafa43cac..94650fa32 100644 --- a/migrations/versions/a1b2c3d4e5f6_initial_schema.py +++ b/migrations/versions/a1b2c3d4e5f6_initial_schema.py @@ -363,7 +363,7 @@ def upgrade() -> None: server_default="{}", ), sa.Column("content", sa.Text(), nullable=False), - sa.Column("embedding", Vector(1536), nullable=True), # pyright: ignore + sa.Column("embedding", Vector(settings.EMBEDDING.VECTOR_DIMENSIONS), nullable=True), # pyright: ignore sa.Column( "created_at", sa.DateTime(timezone=True), diff --git a/src/config.py b/src/config.py index b435daa02..0a89aa6f9 100644 --- a/src/config.py +++ b/src/config.py @@ -28,7 +28,7 @@ # OpenAI-compatible models that reject the `dimensions=` request parameter. _EMBEDDING_KNOWN_REJECTING_MODELS: frozenset[str] = frozenset( - {"text-embedding-ada-002"} + {"text-embedding-ada-002", "mistral-embed"} )