mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-04-30 16:22:29 +00:00
37 lines
957 B
TypeScript
37 lines
957 B
TypeScript
import { loadGroqChatModels } from './groq';
|
|
import { loadOllamaChatModels } from './ollama';
|
|
import { loadOpenAIChatModels, loadOpenAIEmbeddingsModel } from './openai';
|
|
import { loadTransformersEmbeddingsModel } from './transformers';
|
|
|
|
const chatModelProviders = {
|
|
openai: loadOpenAIChatModels,
|
|
groq: loadGroqChatModels,
|
|
ollama: loadOllamaChatModels,
|
|
};
|
|
|
|
const embeddingModelProviders = {
|
|
openai: loadOpenAIEmbeddingsModel,
|
|
local: loadTransformersEmbeddingsModel,
|
|
ollama: loadOllamaChatModels,
|
|
};
|
|
|
|
export const getAvailableChatModelProviders = async () => {
|
|
const models = {};
|
|
|
|
for (const provider in chatModelProviders) {
|
|
models[provider] = await chatModelProviders[provider]();
|
|
}
|
|
|
|
return models;
|
|
};
|
|
|
|
export const getAvailableEmbeddingModelProviders = async () => {
|
|
const models = {};
|
|
|
|
for (const provider in embeddingModelProviders) {
|
|
models[provider] = await embeddingModelProviders[provider]();
|
|
}
|
|
|
|
return models;
|
|
};
|