feat(providers): separate each provider
This commit is contained in:
parent
c63c9b5c8a
commit
25b5dbd63e
8 changed files with 238 additions and 191 deletions
36
src/lib/providers/index.ts
Normal file
36
src/lib/providers/index.ts
Normal file
|
@ -0,0 +1,36 @@
|
|||
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;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue