Spaces:
Paused
Paused
| 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; | |
| }; | |