Skip to content

Commit 57db387

Browse files
committed
fix: Validate embedding dimension from Ollama
1 parent 69178d0 commit 57db387

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/lib/ollama.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ export async function generateEmbedding(text: string): Promise<number[]> {
116116
if (!Array.isArray(res.data.embedding) || res.data.embedding.some(isNaN)) {
117117
throw new Error(`Ollama API returned an invalid embedding vector (not an array of numbers or contains NaN) for model ${model}. Length: ${res.data.embedding?.length}`);
118118
}
119+
// ADD THIS CHECK:
120+
const expectedDimension = configService.EMBEDDING_DIMENSION;
121+
if (res.data.embedding.length !== expectedDimension) {
122+
logger.error(`Ollama API returned an embedding vector with unexpected dimension for model ${model}. Expected: ${expectedDimension}, Actual: ${res.data.embedding.length}.`);
123+
throw new Error(`Ollama API returned an embedding vector with unexpected dimension. Expected: ${expectedDimension}, Actual: ${res.data.embedding.length}`);
124+
}
119125
return res.data; // Return the whole OllamaEmbeddingResponse object
120126
});
121127

0 commit comments

Comments
 (0)