mirror of
https://github.com/decolua/9router.git
synced 2026-05-08 12:01:28 +00:00
24 lines
756 B
JavaScript
24 lines
756 B
JavaScript
// Embeddings provider adapter registry
|
|
import createOpenAIEmbeddingAdapter from "./openai.js";
|
|
import gemini from "./gemini.js";
|
|
import openaiCompatNode from "./openaiCompatNode.js";
|
|
|
|
const OPENAI_COMPAT_PROVIDERS = [
|
|
"openai", "openrouter", "mistral", "voyage-ai", "fireworks",
|
|
"together", "nebius", "github", "nvidia", "jina-ai",
|
|
];
|
|
|
|
const ADAPTERS = {
|
|
...Object.fromEntries(OPENAI_COMPAT_PROVIDERS.map((id) => [id, createOpenAIEmbeddingAdapter(id)])),
|
|
gemini,
|
|
google_ai_studio: gemini,
|
|
};
|
|
|
|
export function getEmbeddingAdapter(provider) {
|
|
if (ADAPTERS[provider]) return ADAPTERS[provider];
|
|
if (provider?.startsWith?.("openai-compatible-") || provider?.startsWith?.("custom-embedding-")) {
|
|
return openaiCompatNode;
|
|
}
|
|
return null;
|
|
}
|