rohitg00/ai-engineering-from-scratch · error · Error
cosine: vector length mismatch (${a.length} vs ${b.length})
Error message
cosine: vector length mismatch (${a.length} vs ${b.length}) What it means
Error "cosine: vector length mismatch (${a.length} vs ${b.length})" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/02-rag-over-codebase/code/ts/src/index_store.ts:34
return h >>> 0;
}
export function fakeEmbed(text: string, dim = 64): number[] {
const vec = new Array<number>(dim).fill(0);
for (const tok of tokenize(text)) {
const h = fnv1a(tok);
vec[h % dim] += 1.0;
vec[(h >>> 8) % dim] += 0.5;
}
let norm = 0;
for (const v of vec) norm += v * v;
norm = Math.sqrt(norm) || 1.0;
return vec.map((v) => v / norm);
}
export function cosine(a: readonly number[], b: readonly number[]): number {
if (a.length !== b.length) {
throw new Error(
`cosine: vector length mismatch (${a.length} vs ${b.length})`,
);
}
let dot = 0;
let na = 0;
let nb = 0;
for (let i = 0; i < a.length; i++) {
dot += a[i] * b[i];
na += a[i] * a[i];
nb += b[i] * b[i];
}
if (na === 0 || nb === 0) return 0;
return dot / (Math.sqrt(na) * Math.sqrt(nb));
}
export class DenseIndex {
private vectors: { chunk: Chunk; vec: number[] }[] = [];
View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/02-rag-over-codebase/code/ts/src/index_store.ts:34 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/6adc10992d28b05b.
Report an issue: GitHub.