You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Three composable follow-ups on the RAG primitives (#153):
- kb/query metadata filtering: an optional `filter` object restricts the
search to rows whose metadata contains it via JSONB containment
(metadata @> $2::jsonb). The filter binds as a single parameter (no
injection surface); a custom metadata_column is supported. Pure
prepareQuery core with unit tests (placeholder positioning, custom
column, empty-filter omission, non-object/injection errors).
- text/chunk recursive mode: `unit: recursive` walks a separator
hierarchy (paragraph -> line -> sentence -> word -> character) so
chunks break on natural boundaries, then merges pieces up to
chunk_size with chunk_overlap characters carried between chunks.
Pure, Unicode-aware, unit-tested (sentence boundaries, hard-split
fallback, overlap, size bound). rag-ingest now uses it.
- Cohere Bedrock embeddings: ai/embed (provider bedrock) adds
cohere.embed-english-v3 / cohere.embed-multilingual-v3 alongside
Titan. Cohere batches natively (<=96 texts/call) and takes an
input_type (search_document default / search_query / classification /
clustering), threaded through EmbeddingRequest. Tests cover batching,
default/invalid input_type, and order preservation.
Docs (RAG guide, connector reference) and examples updated; changeset added.
-**`kb/query` metadata filtering** — an optional `filter` object restricts the search to rows whose metadata contains it, via the JSONB containment operator (`metadata @> $2::jsonb`). The whole filter binds as a single parameter (no injection surface); a custom `metadata_column` is supported. Scope retrieval to a source, team, or tag alongside the vector search.
8
+
-**Separator-aware `recursive` chunking** — `text/chunk` gains `unit: recursive`, which walks a separator hierarchy (paragraph → line → sentence → word → character) so chunks break on natural boundaries instead of mid-sentence, then merges pieces up to `chunk_size` with `chunk_overlap` characters carried between chunks. The `rag-ingest` example now uses it.
9
+
-**Cohere Bedrock embeddings** — `ai/embed` (provider `bedrock`) now supports `cohere.embed-english-v3` and `cohere.embed-multilingual-v3` in addition to Amazon Titan. Cohere batches natively (up to 96 texts per call) and takes an `input_type` (`search_document` default / `search_query` / `classification` / `clustering`).
10
+
11
+
Token-accurate chunking remains a follow-up on #153.
0 commit comments