File size: 2,067 Bytes
7c012de |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#!/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(); |