UNPKG

better-qdrant-mcp-server

Version:

MCP server for enhanced Qdrant vector database functionality

38 lines 1.58 kB
import axios from 'axios'; import { BaseEmbeddingService } from './base.js'; export class OpenRouterEmbeddingService extends BaseEmbeddingService { constructor(apiKey, endpoint, model) { super(apiKey, endpoint || 'https://openrouter.ai/api/v1', model || 'openai/text-embedding-ada-002'); // Using OpenAI-compatible model by default, which produces 1536-dimensional embeddings this.vectorSize = 1536; this.defaultModel = 'openai/text-embedding-ada-002'; this.defaultEndpoint = 'https://openrouter.ai/api/v1'; this.validateConfig(); } async generateEmbeddings(texts) { const response = await axios.post(`${this.endpoint}/embeddings`, { input: texts, model: this.model || this.defaultModel, }, { headers: { 'Authorization': `Bearer ${this.apiKey}`, 'Content-Type': 'application/json', 'HTTP-Referer': 'https://github.com/wreeves/better-qdrant', 'X-Title': 'Better Qdrant', }, }); if (!response.data.data || !Array.isArray(response.data.data)) { throw new Error('Invalid response from OpenRouter API'); } return response.data.data.map((item) => { if (!item.embedding || !Array.isArray(item.embedding)) { throw new Error('Invalid embedding format in OpenRouter response'); } return item.embedding; }); } requiresApiKey() { return true; } } //# sourceMappingURL=openrouter.js.map