Spaces:
Running
Running
import { loadGroqChatModels } from './groq'; | |
import { loadOllamaChatModels, loadOllamaEmbeddingsModels } from './ollama'; | |
import { loadOpenAIChatModels, loadOpenAIEmbeddingsModels } from './openai'; | |
import { loadAnthropicChatModels } from './anthropic'; | |
import { loadTransformersEmbeddingsModels } from './transformers'; | |
import { loadGeminiChatModels, loadGeminiEmbeddingsModels } from './gemini'; | |
const chatModelProviders = { | |
openai: loadOpenAIChatModels, | |
groq: loadGroqChatModels, | |
ollama: loadOllamaChatModels, | |
anthropic: loadAnthropicChatModels, | |
gemini: loadGeminiChatModels, | |
}; | |
const embeddingModelProviders = { | |
openai: loadOpenAIEmbeddingsModels, | |
local: loadTransformersEmbeddingsModels, | |
ollama: loadOllamaEmbeddingsModels, | |
gemini: loadGeminiEmbeddingsModels, | |
}; | |
export const getAvailableChatModelProviders = async () => { | |
const models = {}; | |
for (const provider in chatModelProviders) { | |
const providerModels = await chatModelProviders[provider](); | |
if (Object.keys(providerModels).length > 0) { | |
models[provider] = providerModels; | |
} | |
} | |
models['custom_openai'] = {}; | |
return models; | |
}; | |
export const getAvailableEmbeddingModelProviders = async () => { | |
const models = {}; | |
for (const provider in embeddingModelProviders) { | |
const providerModels = await embeddingModelProviders[provider](); | |
if (Object.keys(providerModels).length > 0) { | |
models[provider] = providerModels; | |
} | |
} | |
return models; | |
}; | |