rag-cli-tester
Version:
A lightweight CLI tool for testing RAG (Retrieval-Augmented Generation) systems with different embedding combinations
77 lines • 2.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AVAILABLE_EMBEDDING_MODELS = void 0;
exports.getModelById = getModelById;
exports.getModelsByProvider = getModelsByProvider;
exports.getLocalModels = getLocalModels;
exports.AVAILABLE_EMBEDDING_MODELS = [
// Local Models (Hugging Face Transformers)
{
id: 'all-minilm-l6-v2-small',
name: 'All-MiniLM-L6-v2-Small',
dimensions: 384,
description: 'Lightweight, fast, good quality for most use cases',
provider: 'local',
modelPath: 'Xenova/all-MiniLM-L6-v2-small'
},
{
id: 'all-minilm-l6-v2',
name: 'All-MiniLM-L6-v2',
dimensions: 384,
description: 'Standard version, balanced performance',
provider: 'local',
modelPath: 'Xenova/all-MiniLM-L6-v2'
},
{
id: 'all-mpnet-base-v2',
name: 'All-MPNet-Base-v2',
dimensions: 768,
description: 'Higher quality, larger model',
provider: 'local',
modelPath: 'Xenova/all-mpnet-base-v2'
},
{
id: 'multi-qa-minilm-l6-cos-v1',
name: 'Multi-QA-MiniLM-L6-Cos-v1',
dimensions: 384,
description: 'Optimized for question-answer similarity',
provider: 'local',
modelPath: 'Xenova/multi-qa-MiniLM-L6-cos-v1'
},
// OpenAI Models
{
id: 'text-embedding-3-small',
name: 'OpenAI Text Embedding 3 Small',
dimensions: 1536,
description: 'High quality, OpenAI API required',
provider: 'openai',
apiModel: 'text-embedding-3-small'
},
{
id: 'text-embedding-3-large',
name: 'OpenAI Text Embedding 3 Large',
dimensions: 3072,
description: 'Highest quality, OpenAI API required',
provider: 'openai',
apiModel: 'text-embedding-3-large'
},
// Gemini Models
{
id: 'embedding-001',
name: 'Gemini Embedding 001',
dimensions: 768,
description: 'Google Gemini embeddings, API key required',
provider: 'gemini',
apiModel: 'embedding-001'
}
];
function getModelById(id) {
return exports.AVAILABLE_EMBEDDING_MODELS.find(model => model.id === id);
}
function getModelsByProvider(provider) {
return exports.AVAILABLE_EMBEDDING_MODELS.filter(model => model.provider === provider);
}
function getLocalModels() {
return getModelsByProvider('local');
}
//# sourceMappingURL=embedding-models.js.map