Supabaze vectors uploading problems

I have a workflow for RAG, but its not working.After uploadint text in the supabaze db (workflow ends successfuly) I had ask llm about something uploaded in supabaze. But AI gave wrong answer (It gaven me something like: I don`t know what you talking about.
Somebody know how to fix that problem.
My workflow here

@Quent classic RAG retrieval miss: the upload worked but the search returns nothing, so the agent has no context and says “I don’t know.” Almost always one of two:

  1. Embedding model mismatch (the #1 cause). The model you embed with on insert must be the exact same model on the query side, a different model or dimension puts the vectors in a different space so similarity search returns zero hits. Check both Embeddings nodes use the identical model.

  2. The Vector Store isn’t wired to the agent as a retriever, or the Query Name isn’t set to match_documents.

If both already line up, paste the workflow and I’ll spot it, but 9/10 it’s the embedding model differing between insert and query.

I think I set up LLM correctly. And I think Its problem exactly with supabaze because when I watching in the supabaze db I didn`t see uploaded embeddings

@Quent that narrows it: success but no rows means they’re landing somewhere you’re not looking. The big one: the Supabase Vector Store node ignores the table-name field and always writes to a table literally named documents (known quirk). So check the documents table specifically, if you created or are checking a differently-named table, your rows are in documents.

Also confirm that documents table has the quickstart structure (id, content, metadata, embedding vector(N)) with the dimension matching your embedding model, if that column is missing nothing persists.

If instead you see an RLS/policy error, switch the credential to your service_role key (it bypasses RLS). But check the documents table first, that’s usually where they are.

Nah, there arent documents table. I check the buckets in the storage but I didnt found it there, also I check the tables in db but I not found it

Better than When I uploded text in supabaze I never see interaction supabaze node with embedded model

@Quent that’s the cause. The Supabase Vector Store node needs an Embeddings sub-node connected to it, the small “Embeddings” port underneath the node. If nothing’s wired there, the node has no model to turn your text into vectors, so the insert stores nothing usable, which is exactly why you never see it interact with an embedding model.

Connect an Embeddings node (Embeddings OpenAI, or whichever provider) to that port on the Vector Store node, then re-run, you’ll see rows with embeddings land in the documents table. One catch for later: use the exact same embeddings model on the query side too, or retrieval won’t match.

I already did it, but it not solve my problem.
Here sreenshot of my workflow

If you don’t see the documents table in Supabase at all, that means the table was never created - n8n won’t auto-create it for you. Go to Supabase > SQL Editor and run this:

create extension if not exists vector;

create table documents (
  id bigserial primary key,
  content text,
  metadata jsonb,
  embedding vector(1536)
);

create index on documents using ivfflat (embedding vector_cosine_ops);

Note: change 1536 to match your embedding model’s dimension (OpenAI text-embedding-3-small = 1536, text-embedding-3-large = 3072). Once the table exists, re-run your upload workflow and you should see rows appear in the documents table under Table Editor.

Now I see the documents table, but I dont see the rows of that table. When I uploaded text in my workflow table It hadnt feel my table.

Hey @Quent, since the table exists but still has zero rows, the insert itself is likely failing silently.

Quick checks:

Click on the Vector Store node after a run and check its actual output, a green checkmark on the workflow doesn’t always mean that node truly wrote data.
Confirm it’s set to “Insert” mode, not “Retrieve.”
Try the service_role key instead of anon, RLS can silently block inserts without a visible error.
If those don’t show anything, a screenshot of the node’s actual execution output (not just the canvas) would help pinpoint it fast.

Agree with @achamm , embedding mismatch is the #1 cause by far.

Two extra things worth checking if his fixes don’t solve it:

  • Supabase vector column dimension: when you created the table, the embedding column has a fixed size (e.g. vector(1536)). If your embedding model outputs a different size, inserts can silently fail or the search returns nothing. Run \d documents in Supabase SQL editor to confirm the dimension matches your model.
  • Chunking + top_k: if your chunks are too big (full pages) or your top_k is too low (like 1), the retriever might pull a chunk that doesn’t actually contain the answer. Try chunks of ~500 tokens and top_k = 4-5 to start.

Share the workflow if it’s still failing after that !

I already sovle that problem. Tnank you all