From f158c9ff801737d6ef5e2e2120ad599348ab3e0b Mon Sep 17 00:00:00 2001 From: LLLin000 <809867916@qq.com> Date: Sat, 11 Jul 2026 00:52:30 +0800 Subject: [PATCH] fix: force-rebuild uses ensure_vec_tables for correct embedding dimension --- paperforge/commands/embed.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/paperforge/commands/embed.py b/paperforge/commands/embed.py index 3d4609f1..e29bb648 100644 --- a/paperforge/commands/embed.py +++ b/paperforge/commands/embed.py @@ -17,6 +17,7 @@ from paperforge.embedding import ( mark_vector_build_state, read_vector_build_state, ) +from paperforge.embedding.dim_detect import ensure_vec_tables from paperforge.embedding.builder import ( PaperEmbeddingJob, encode_paper_job, @@ -300,12 +301,12 @@ def run(args: argparse.Namespace) -> int: if _db_path.exists(): _conn = get_connection(_db_path) try: - from paperforge.memory.db import ensure_vec_extension - from paperforge.memory.schema import ensure_schema ensure_vec_extension(_conn) - for _t in ("vec_fulltext", "vec_body", "vec_objects", - "vec_fulltext_meta", "vec_body_meta", "vec_objects_meta"): + # Drop and recreate vec0 tables first with correct dimension + ensure_vec_tables(_conn, vault) + for _t in ("vec_fulltext_meta", "vec_body_meta", "vec_objects_meta"): _conn.execute(f'DROP TABLE IF EXISTS "{_t}"') + # ensure_schema recreates meta tables (vec v-tables already correct from ensure_vec_tables) ensure_schema(_conn) _conn.commit() except Exception: