From 5758f207683310675cb1985483177d1cf9afa4ff Mon Sep 17 00:00:00 2001 From: Hyu Date: Wed, 30 Sep 2026 15:47:59 +0800 Subject: [PATCH] fix(vector): do not bind a query dimension for text-only search A full-text search sends no query vector by design, but search() validated len([]) == 0 as the expected embedding dimension, so the request failed with 'Embedding dimension 0 is not enabled for this deployment' and hid the backend capability error. An empty query vector now means no expected dimension to verify. --- src/langbot/pkg/vector/mgr.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/langbot/pkg/vector/mgr.py b/src/langbot/pkg/vector/mgr.py index 21e868223..03424af10 100644 --- a/src/langbot/pkg/vector/mgr.py +++ b/src/langbot/pkg/vector/mgr.py @@ -356,7 +356,10 @@ class VectorDBManager: scope = await self._resolve_pgvector_scope( execution_context, knowledge_base_uuid, - expected_dimension=len(query_vector), + # A text-only search sends no query vector; there is no dimension + # to bind, and validating an empty vector as dimension 0 would + # mask the backend capability error. + expected_dimension=len(query_vector) or None, initialize_dimension=False, ) results = await pgvector.search(