pediatric-ai-scribe-v3/test/embeddings-provider.test.js
2026-05-09 04:46:06 +02:00

25 lines
1.5 KiB
JavaScript

const { test } = require('node:test');
const assert = require('node:assert/strict');
test('LiteLLM embedding discovery uses embedding metadata only', () => {
const embeddings = require('../src/utils/embeddings');
assert.equal(embeddings.isLiteLLMEmbeddingModel({ id: 'openai-text-embedding-3-large' }), false);
assert.equal(embeddings.isLiteLLMEmbeddingModel({ id: 'mistral-codestral-embed' }), false);
assert.equal(embeddings.isLiteLLMEmbeddingModel({ model_name: 'openai-text-embedding-3-large', model_info: { mode: 'embedding' } }), true);
assert.equal(embeddings.isLiteLLMEmbeddingModel({ model_name: 'local-parakeet-v3', model_info: { mode: 'audio_transcription' } }), false);
});
test('LiteLLM embedding extraction includes metadata dimensions', () => {
const embeddings = require('../src/utils/embeddings');
assert.deepEqual(embeddings.getLiteLLMEmbeddingModels([
{ model_name: 'openai-text-embedding-3-large', model_info: { mode: 'embedding', output_vector_size: 3072 } },
{ model_name: 'openai-text-embedding-3-small', model_info: { mode: 'embedding', dimensions: '1536' } },
{ model_name: 'mistral-embed', model_info: { mode: 'embedding' } },
{ model_name: 'looks-like-embed' },
{ model_name: 'local-kokoro-tts', model_info: { mode: 'audio_speech' } }
]), [
{ id: 'openai-text-embedding-3-large', name: 'openai-text-embedding-3-large', dims: 3072 },
{ id: 'openai-text-embedding-3-small', name: 'openai-text-embedding-3-small', dims: 1536 },
{ id: 'mistral-embed', name: 'mistral-embed', dims: '?' }
]);
});