ruvnet / ruvnet/RuVector

Feature request: AdaptiveEmbedder Rust binding under crates/

Open
#514 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
4.5k
Forks
603
Avg merge
23h 32m
Merged PRs (30d)
59

Description

Context

A downstream Rust-only consumer (SONA-Trader v2, ADR-002 Rust-only stack) consumes RuVector via a pinned vendor symlink. During empirical vector-tuning prep (Sprint 15.7), we walked vendor/ruvector/crates/ looking for an AdaptiveEmbedder Rust crate and found it absent.

What we found

The AdaptiveEmbedder API exists in the npm package only:

  • npm/packages/ruvector/src/core/adaptive-embedder.js
  • npm/packages/ruvector/src/core/adaptive-embedder.d.ts

Closest hits under crates/:

  • crates/ruvector-core/src/advanced_features/matryoshka.rs — Matryoshka adaptive-dim search (different concept)
  • crates/ruvllm/src/bitnet/rlm_embedder.rs — "Domain-adaptive" RLM embedder (different concept)

Ask

Expose AdaptiveEmbedder as a Rust crate under crates/ so Rust-only consumers can use it without a Node sidecar.

Current workaround

Embedding-model sweep restricted to 5 alternative candidates (fastembed bge-small, candle MiniLM-L6, OpenAI text-embedding-3-{small,large}, Voyage finance-2, Cohere embed-v3.0).

Happy to test a draft binding against a deterministic 10K-pair labeled eval-set + LHS-24 sweep we use downstream.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading npm/packages/ruvector/src/core/adaptive-embedder.js and adaptive-embedder.d.ts to define the existing API, then compare the related Rust implementations in crates/ruvector-core/src/advanced_features/matryoshka.rs and crates/ruvllm/src/bitnet/rlm_embedder.rs. Determine the appropriate crate boundary and Rust-facing API. Done means Rust-only consumers can use AdaptiveEmbedder under crates/ and the draft can be evaluated against the stated deterministic 10K-pair set and LHS-24 sweep.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, rust
Domain
ai, machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.