Skip to content

AsyncPGVectorStore Metadata Filtering Not Working #249

@bharatht19

Description

@bharatht19

I am seeing the below error while using meta data filtering as below .Please suggest.

Code

async def _build_chain():
    store = await get_vector_store()
    FILTER = {'source': {"$eq":"data/handbooks/employee_handbook_2025.docx"}}
    
    retriever = store.as_retriever(
    search_kwargs={
        "filter": FILTER
    }
)

DB Table

CREATE TABLE IF NOT EXISTS langchain_pg_embedding (
langchain_id uuid PRIMARY KEY DEFAULT gen_random_uuid(), -- Auto-generate UUIDs
content text, -- Raw text chunk
embedding vector(1536), -- Vector dimension matches embedding model
langchain_metadata jsonb -- Metadata
);

Error:

cka-app | sqlalchemy.exc.ProgrammingError: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column "source" does not exist
cka-app | [SQL: SELECT "langchain_id", "content", "embedding", "langchain_metadata", cosine_distance("embedding", $1) as distance
cka-app | FROM "public"."langchain_pg_embedding" WHERE source = $2 ORDER BY "embedding" <=> $1 LIMIT $3;
cka-app | ]
cka-app | [parameters: ('[0.019000347703695297, 0.008494899608194828, -0.0014854423934593797, -0.008188657462596893, -0.03637627884745598, -0.04138267785310745, -0.0131018515 ... (33892 characters truncated) ... 6108424216508865, -0.023460835218429565, 0.022315755486488342, 0.001256592688150704, 0.0203052069991827, 0.017788691446185112, -0.020238632336258888]', 'data/handbooks/employee_handbook_2025.docx', 4)]
cka-app | (Background on this error at: https://sqlalche.me/e/20/f405)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions