-
Notifications
You must be signed in to change notification settings - Fork 0
Embeddings 0.4.0 onnxtextembedder embed
Lodestar.Embeddings 0.4.0. This page is frozen at that release. Read the current documentation for what
mainsays now. A link to a decision or a migration page followsmain, and leaves the archive.
One vector, from token ids you already have.
public float[] Embed(ReadOnlySpan<long> inputIds, ReadOnlySpan<long> attentionMask)Parameters — inputIds are the token ids for one text, as the model's own tokenizer produces
them. attentionMask is the same length, 1 for a real token and 0 for padding.
Returns — float[] of length Dimension, the pooled vector for that text.
Exceptions — ArgumentException when the two spans differ in length.
ObjectDisposedException after Dispose — the type
checks a flag of its own, because reaching a disposed ONNX Runtime session surfaces as a
null dereference from inside it, naming neither the object nor the mistake.
Example — ids from a tokenizer, one text at a time.
using Lodestar.Embeddings.Onnx;
using var embedder = new OnnxTextEmbedder("model.onnx");
long[] ids = [101, 2054, 2003, 102];
long[] mask = [1, 1, 1, 1];
float[] vector = embedder.Embed(ids, mask);Remarks — this is the low-level entry: it takes ids rather than text, so the tokenizer is yours to choose and yours to match to the model. Mismatching them produces vectors that are confidently wrong rather than an error, which is the failure worth guarding against — use the vocabulary that shipped with the model.
For text rather than ids, EmbedBatch takes strings and does the
encoding. It is also the faster path for more than one text: a session run has a fixed cost that a
batch amortises.
The attentionMask matters even for a single unpadded text, where it is all ones — the model
reads it, and pooling uses it to ignore padding.
Applies to — net10.0, netstandard2.0.
See also — OnnxTextEmbedder.EmbedBatch,
BatchEncoder.
- 0001-target-framework
- 0002-unicode-comparison-unit
- 0003-provenance-and-licensing
- 0004-levenshtein-myers-backlog
- 0005-hamming-jellyfish-divergence
- 0006-ratcliff-autojunk
- 0007-metaphone-scope
- 0008-italian-enza-nltk-divergence
- 0009-sample-consumes-a-local-feed
- 0010-stop-word-list-provenance
- 0011-persistence-format
- 0012-per-package-versioning
- 0013-sentencepiece-parity-scope
- 0014-precompiled-normalizer
- 0015-sonar-rules-in-the-build
- 0016-metrics-package-placement
- 0017-bpe-parity-scope
- 0018-multiclass-roc-auc-parallelism-is-opt-in
- 0019-the-net-analysers-run-in-the-build-too
- 0020-normalize-is-a-projection-not-a-parameter
- 0021-multioutput-is-a-method-not-an-enum
- 0022-added-token-matching-flags
- 0023-byte-level-decode-substitutes
- 0024-weighted-median-averages-within-scikit-learns-epsilon
- 0025-quickselect-replaces-a-full-sort-for-the-median
- 0026-r2-and-explainedvariance-split-their-undefined-cases-differently
- 0027-r2-and-explainedvariance-vectorize-only-a-single-output
- 0028-log1p-is-kahans-identity-not-math-log-1-plus-x
- 0029-balanced-accuracy-adjusted-is-left-to-ieee-754-at-the-edge
- 0030-cohen-kappa-keeps-scikit-learns-expected-matrix-orientation
- 0031-nosamplecorrect-mirrors-numpys-float64-upcast
- 0032-fbeta-substitutes-tp-predicted-and-support-algebraically
- 0033-compensated-sum-is-neumaiers-variant
- 0034-dropout-is-refused-for-want-of-a-user
- 0035-a-null-pre-split-is-removed-with-invert-not-isolated
- 0036-a-member-may-ship-without-an-oracle-if-it-says-so
- 0037-the-guards-run-before-the-commit
- 0038-the-gate-confronts-an-exception-tag-with-the-page-that-documents-it
- 0039-mutual-information-returns-zero-on-an-empty-input
- 0040-a-curve-is-a-sealed-class-per-curve
- 0041-one-sample-file-per-public-class
- 0042-phonetic-encoders-refuse-a-null-word
- 0043-the-equality-table-is-sized-to-the-pattern
- 0044-compression-belongs-to-the-caller
- 0045-a-console-call-carries-its-reason-on-the-line
- 0046-check-adr-immutable-runs-in-ci-only
- 0047-one-gate-per-kernel-not-one-per-alphabet
- 0048-the-gate-depends-on-the-kernel-and-the-alphabet
- 0049-two-gates-per-kernel-tested-where-the-width-is-known
- 0050-the-sentencepiece-bpe-lineage-stays-a-bpe-model
- benchmark_latest
- decisions
- equivalence
- matplotlib
- migration
- nightly_run
- numpy
- pandas
- performance
- pytorch
- seaborn
- sklearn
- statsmodels