documind
Version:
Intelligent document processing and extraction.
22 lines (19 loc) • 712 B
text/typescript
import { Completion } from "./utils/completion";
import { OpenAI } from "./openAI";
import { Ollama } from "./ollama";
import { Google } from "./google";
import { ModelOptions, OpenAIModels, LocalModels, GoogleModels } from "../types";
export class getModel {
public static getProviderForModel(model: ModelOptions): Completion {
if (Object.values(OpenAIModels).includes(model as OpenAIModels)) {
return new OpenAI();
}
if (Object.values(GoogleModels).includes(model as GoogleModels)) {
return new Google();
}
if (Object.values(LocalModels).includes(model as LocalModels)) {
return new Ollama();
}
throw new Error(`No provider found for model "${model}"`);
}
}