KnowledgeBridge / tests /integration /test-embeddings.js
fazeel007's picture
initial commit
7c012de
#!/usr/bin/env node
// Test specific embedding models with Nebius
const NEBIUS_API_KEY = process.env.NEBIUS_API_KEY || 'eyJhbGciOiJIUzI1NiIsImtpZCI6IlV6SXJWd1h0dnprLVRvdzlLZWstc0M1akptWXBvX1VaVkxUZlpnMDRlOFUiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiJnb29nbGUtb2F1dGgyfDEwMzQwMDk5NTQzMzIwMjU0MzY2NSIsInNjb3BlIjoib3BlbmlkIG9mZmxpbmVfYWNjZXNzIiwiaXNzIjoiYXBpX2tleV9pc3N1ZXIiLCJhdWQiOlsiaHR0cHM6Ly9uZWJpdXMtaW5mZXJlbmNlLmV1LmF1dGgwLmNvbS9hcGkvdjIvIl0sImV4cCI6MTkwNzE0NjM0OCwidXVpZCI6IjIwZDU3YWIxLTcxYmUtNGI4ZS05MDk5LWRkODJkMDA0NWQyMCIsIm5hbWUiOiJIYWNrYXRob24iLCJleHBpcmVzX2F0IjoiMjAzMC0wNi0wOFQxMDo1MjoyOCswMDAwIn0.8WDxq0i62K0jM3ADXShpye0kvE-UBLgAYQ_jMeyJalQ';
async function testEmbeddings() {
console.log('πŸ§ͺ Testing Nebius embedding models...\n');
const baseUrl = 'https://api.studio.nebius.ai/v1';
const testText = 'What is RAG?';
const embeddingModels = [
'BAAI/bge-en-icl',
'BAAI/bge-multilingual-gemma2',
'intfloat/e5-mistral-7b-instruct'
];
for (const model of embeddingModels) {
try {
console.log(`Testing ${model}...`);
const response = await fetch(`${baseUrl}/embeddings`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${NEBIUS_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
input: testText,
model: model
})
});
if (response.ok) {
const result = await response.json();
console.log(`βœ… ${model} SUCCESS!`);
console.log(` Dimensions: ${result.data[0].embedding.length}`);
console.log(` First 5 values: [${result.data[0].embedding.slice(0, 5).map(v => v.toFixed(4)).join(', ')}...]`);
console.log(` Usage: ${result.usage.total_tokens} tokens\n`);
break; // Found working model
} else {
const error = await response.text();
console.log(`❌ ${model} failed: ${response.status} - ${error}\n`);
}
} catch (error) {
console.log(`❌ ${model} error: ${error.message}\n`);
}
}
}
testEmbeddings();