mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-07-10 01:38:44 +00:00
release(tiny-dancer): 0.1.21 — expose trainRouter to JS (types + bump)
Adds trainRouter/DracoRowJs/TrainRouterOptions/TrainRouterResult to the hand-written index.d.ts and bumps to 0.1.21 (8 optionalDependencies lock-stepped) so the native train_router export ships typed across all environments. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
parent
1aa132ba41
commit
c520576d40
2 changed files with 64 additions and 9 deletions
55
npm/packages/tiny-dancer/index.d.ts
vendored
55
npm/packages/tiny-dancer/index.d.ts
vendored
|
|
@ -136,3 +136,58 @@ export function version(): string;
|
|||
* Test function to verify bindings are working
|
||||
*/
|
||||
export function hello(): string;
|
||||
|
||||
/**
|
||||
* One DRACO training row: a query embedding and the quality each model achieved
|
||||
* on it. Matches the `{ embedding, scores }` shape `@metaharness/router` consumes.
|
||||
*/
|
||||
export interface DracoRowJs {
|
||||
/** Query embedding (used directly as the model's input features). */
|
||||
embedding: number[];
|
||||
/** model id → quality achieved on this query (0..1). */
|
||||
scores: Record<string, number>;
|
||||
}
|
||||
|
||||
/** Options for {@link trainRouter}. */
|
||||
export interface TrainRouterOptions {
|
||||
/** Where to write the trained `.safetensors` model. */
|
||||
outputPath: string;
|
||||
/** Input feature dimension (must equal the embedding length). */
|
||||
inputDim: number;
|
||||
/** Hidden dimension (default 12). */
|
||||
hiddenDim?: number;
|
||||
/** Training epochs (default 40). */
|
||||
epochs?: number;
|
||||
/** Learning rate (default 0.05). */
|
||||
learningRate?: number;
|
||||
/** DRACO label tolerance: cheap model is "good enough" within this of the best (default 0.05). */
|
||||
tolerance?: number;
|
||||
}
|
||||
|
||||
/** Result of {@link trainRouter}. */
|
||||
export interface TrainRouterResult {
|
||||
epochsRun: number;
|
||||
trainLoss: number;
|
||||
trainAccuracy: number;
|
||||
valAccuracy: number;
|
||||
modelPath: string;
|
||||
modelBytes: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Train a FastGRNN router from a DRACO dataset and write it to a `.safetensors`
|
||||
* file consumable by `new Router({ modelPath })`.
|
||||
*
|
||||
* @example
|
||||
* ```javascript
|
||||
* const res = await trainRouter(rows, { haiku: 1, opus: 15 }, {
|
||||
* outputPath: './router.safetensors', inputDim: 8, epochs: 40,
|
||||
* });
|
||||
* const router = new Router({ modelPath: res.modelPath });
|
||||
* ```
|
||||
*/
|
||||
export function trainRouter(
|
||||
rows: DracoRowJs[],
|
||||
prices: Record<string, number>,
|
||||
options: TrainRouterOptions
|
||||
): Promise<TrainRouterResult>;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@ruvector/tiny-dancer",
|
||||
"version": "0.1.20",
|
||||
"version": "0.1.21",
|
||||
"description": "Neural router for AI agent orchestration - FastGRNN-based intelligent routing with circuit breaker, uncertainty estimation, and hot-reload",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
|
|
@ -31,14 +31,14 @@
|
|||
"@napi-rs/cli": "^2.18.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@ruvector/tiny-dancer-linux-x64-gnu": "0.1.20",
|
||||
"@ruvector/tiny-dancer-linux-x64-musl": "0.1.20",
|
||||
"@ruvector/tiny-dancer-linux-arm64-gnu": "0.1.20",
|
||||
"@ruvector/tiny-dancer-linux-arm64-musl": "0.1.20",
|
||||
"@ruvector/tiny-dancer-darwin-x64": "0.1.20",
|
||||
"@ruvector/tiny-dancer-darwin-arm64": "0.1.20",
|
||||
"@ruvector/tiny-dancer-win32-x64-msvc": "0.1.20",
|
||||
"@ruvector/tiny-dancer-win32-arm64-msvc": "0.1.20"
|
||||
"@ruvector/tiny-dancer-linux-x64-gnu": "0.1.21",
|
||||
"@ruvector/tiny-dancer-linux-x64-musl": "0.1.21",
|
||||
"@ruvector/tiny-dancer-linux-arm64-gnu": "0.1.21",
|
||||
"@ruvector/tiny-dancer-linux-arm64-musl": "0.1.21",
|
||||
"@ruvector/tiny-dancer-darwin-x64": "0.1.21",
|
||||
"@ruvector/tiny-dancer-darwin-arm64": "0.1.21",
|
||||
"@ruvector/tiny-dancer-win32-x64-msvc": "0.1.21",
|
||||
"@ruvector/tiny-dancer-win32-arm64-msvc": "0.1.21"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue