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'; import { loadLMStudioChatModels, loadLMStudioEmbeddingsModels } from './lmstudio'; const chatModelProviders = { openai: loadOpenAIChatModels, groq: loadGroqChatModels, ollama: loadOllamaChatModels, anthropic: loadAnthropicChatModels, gemini: loadGeminiChatModels, lm_studio: loadLMStudioChatModels, }; const embeddingModelProviders = { openai: loadOpenAIEmbeddingsModels, local: loadTransformersEmbeddingsModels, ollama: loadOllamaEmbeddingsModels, gemini: loadGeminiEmbeddingsModels, lm_studio: loadLMStudioEmbeddingsModels, }; 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; };