feat: 6 EmbedAnything patterns — auto-detect, chunker, tensor bridge + practices#117
Merged
Merged
Conversation
…+ practices All 6 patterns from EmbedAnything translated to codebook-lookup paradigm: auto_detect.rs (6 tests): detect_from_config_json(): routes XLM-RoBERTa/Qwen/ModernBERT/BERT detect_from_gguf_metadata(): same from GGUF KV pairs DetectedModel: architecture, dims, vocab, MoE, recommended lens semantic_chunker.rs (4 tests): find_boundaries(): slide window, think, detect convergence-jump chunk(): split centroid sequence at semantic boundaries The ThinkingEngine IS the chunker. No forward pass for boundaries. tensor_bridge.rs (7 tests): EmbeddingOutput: F32 | I8 | U8 | Tensor (candle, feature-gated) to_f32(), to_i8(), to_u8(): convert between any pair cosine(): cross-type similarity (e.g. F32 vs U8) EmbeddingBatch: pairwise cosine matrix Previously implemented: pooling.rs (6 tests): ArgMax/Mean/TopK/Weighted builder.rs (7 tests): ThinkingEngineBuilder fluent API + commit sinks .claude/CODING_PRACTICES.md: checklist + anti-patterns for new modules 218 tests pass. serde_json added as dependency (needed for config.json parsing). https://claude.ai/code/session_019RzHP8tpJu55ESTxhfUy1A
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All 6 patterns from EmbedAnything translated to codebook-lookup paradigm:
auto_detect.rs (6 tests):
detect_from_config_json(): routes XLM-RoBERTa/Qwen/ModernBERT/BERT
detect_from_gguf_metadata(): same from GGUF KV pairs
DetectedModel: architecture, dims, vocab, MoE, recommended lens
semantic_chunker.rs (4 tests):
find_boundaries(): slide window, think, detect convergence-jump
chunk(): split centroid sequence at semantic boundaries
The ThinkingEngine IS the chunker. No forward pass for boundaries.
tensor_bridge.rs (7 tests):
EmbeddingOutput: F32 | I8 | U8 | Tensor (candle, feature-gated)
to_f32(), to_i8(), to_u8(): convert between any pair
cosine(): cross-type similarity (e.g. F32 vs U8)
EmbeddingBatch: pairwise cosine matrix
Previously implemented:
pooling.rs (6 tests): ArgMax/Mean/TopK/Weighted
builder.rs (7 tests): ThinkingEngineBuilder fluent API + commit sinks
.claude/CODING_PRACTICES.md: checklist + anti-patterns for new modules
218 tests pass. serde_json added as dependency (needed for config.json parsing).
https://claude.ai/code/session_019RzHP8tpJu55ESTxhfUy1A