BOUNDARY: re-embed an entry's content via the injected embedding port.
Record-shape conversion stays pure in hive-milvus.store.schema; the
provider lookup + remote embed live behind hive-milvus.embed.port.
embed-for-entry policy (port-agnostic):
blank content => (r/ok [])
no-embed type => (r/ok zero-vector) sized to the type's routed dim
otherwise => port/embed-entry, then dim-guarded.
Returns (r/ok vec) or one of :embedder/no-provider :embedder/embed-failed :embedder/dim-mismatch.
BOUNDARY: re-embed an entry's content via the injected embedding port. Record-shape conversion stays pure in `hive-milvus.store.schema`; the provider lookup + remote embed live behind `hive-milvus.embed.port`. `embed-for-entry` policy (port-agnostic): blank content => (r/ok []) no-embed type => (r/ok zero-vector) sized to the type's routed dim otherwise => `port/embed-entry`, then dim-guarded. Returns (r/ok vec) or one of :embedder/no-provider :embedder/embed-failed :embedder/dim-mismatch.
(embed-for-entry entry collection-name)Re-embed entry's content for collection-name via the injected port.
Returns:
(r/ok embedding-vec) on success
(r/err :embedder/no-provider {…}) when neither type nor coll resolves
(r/err :embedder/embed-failed {…}) when the embed call throws
(r/err :embedder/dim-mismatch {…}) when the vector's width is not the
one collection-name holds
Side-effect: one provider HTTP call (inside the port). Caller passes the
resulting vector to schema/entry->record.
Re-embed `entry`'s content for `collection-name` via the injected port.
Returns:
(r/ok embedding-vec) on success
(r/err :embedder/no-provider {…}) when neither type nor coll resolves
(r/err :embedder/embed-failed {…}) when the embed call throws
(r/err :embedder/dim-mismatch {…}) when the vector's width is not the
one `collection-name` holds
Side-effect: one provider HTTP call (inside the port). Caller passes the
resulting vector to `schema/entry->record`.(embed-for-entry-or-throw entry collection-name)Convenience for legacy call sites that expect an embedding vector (or a
throw). Prefer embed-for-entry in new code so errors stay railway-tracked.
Convenience for legacy call sites that expect an embedding vector (or a throw). Prefer `embed-for-entry` in new code so errors stay railway-tracked.
(text-to-embed entry)The text to embed for entry: its transient :embed-text when a caller
supplied one (a store decorator whose :content is ciphertext), else
:content coerced to a string, maps JSON-encoded. :embed-text is never
written to the record. Pure: two entries with equal text get equal vectors
in one collection, which is what lets an update keep the stored one.
The text to embed for `entry`: its transient `:embed-text` when a caller supplied one (a store decorator whose `:content` is ciphertext), else `:content` coerced to a string, maps JSON-encoded. `:embed-text` is never written to the record. Pure: two entries with equal text get equal vectors in one collection, which is what lets an update keep the stored one.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |