Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,8 @@
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true
},
"ignore": []
}
16 changes: 16 additions & 0 deletions .changeset/read-primitives-and-populate-embedding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
"payloadcms-vectorize": minor
"@payloadcms-vectorize/pg": minor
"@payloadcms-vectorize/cf": minor
"@payloadcms-vectorize/mongodb": minor
---

Add vector read primitives and the ability to retrieve stored embedding vectors.

- **`vectorizedPayload.findByIds({ knowledgePool, ids, populateEmbedding })`** — batch-fetch embedding records by id, returning `Record<string, EmbeddingRecord | undefined>` (misses map to `undefined`). Implemented across the pg, cf, and mongodb adapters.
- **`vectorizedPayload.searchByEmbedding({ knowledgePool, embedding, where, limit, populateEmbedding })`** — run a vector search directly from a raw embedding vector, skipping the query-embedding step. This is the "more like this" primitive: feed it the `embedding` returned by `findByIds({ populateEmbedding: true })` to find similar content. Result shape and `where` filtering match `search()`. Unlike `search()`, it does not run reranking even on a pool configured with `rerank`, since rerankers operate on the original query text. Local API only.
- **`populateEmbedding?: boolean`** option (default `false`) on `search()` and `searchByEmbedding()` — when `true`, each result includes its stored embedding vector. `VectorSearchResult` and `EmbeddingRecord` now expose `embedding?: number[]`.

Fix:

- **mongodb adapter** `search()` now returns all stored fields (including extension fields) on each result, matching the pg and cf adapters for cross-adapter parity.
Loading