|
from application.llm.openai import OpenAILLM, AzureOpenAILLM |
|
from application.llm.sagemaker import SagemakerAPILLM |
|
from application.llm.huggingface import HuggingFaceLLM |
|
from application.llm.llama_cpp import LlamaCpp |
|
from application.llm.anthropic import AnthropicLLM |
|
from application.llm.docsgpt_provider import DocsGPTAPILLM |
|
|
|
|
|
|
|
class LLMCreator: |
|
llms = { |
|
'openai': OpenAILLM, |
|
'azure_openai': AzureOpenAILLM, |
|
'sagemaker': SagemakerAPILLM, |
|
'huggingface': HuggingFaceLLM, |
|
'llama.cpp': LlamaCpp, |
|
'anthropic': AnthropicLLM, |
|
'docsgpt': DocsGPTAPILLM |
|
} |
|
|
|
@classmethod |
|
def create_llm(cls, type, *args, **kwargs): |
|
llm_class = cls.llms.get(type.lower()) |
|
if not llm_class: |
|
raise ValueError(f"No LLM class found for type {type}") |
|
return llm_class(*args, **kwargs) |