ia-subvention / model /ModelIntegrations.py
Implement model integration strategy and selector for multiple AI models
ea077e1
raw
history blame
1.06 kB
from .ModelStrategy import ModelStrategy
from langchain_community.chat_models import ChatOpenAI
from langchain_mistralai.chat_models import ChatMistralAI
from langchain_anthropic import ChatAnthropic
from langchain_ollama import ChatOllama
class MistralModel(ModelStrategy):
def get_model(self, model_name):
return ChatMistralAI(model=model_name)
class OpenAIModel(ModelStrategy):
def get_model(self, model_name):
return ChatOpenAI(model=model_name)
class AnthropicModel(ModelStrategy):
def get_model(self, model_name):
return ChatAnthropic(model=model_name)
class OllamaModel(ModelStrategy):
def get_model(self, model_name):
return ChatOllama(model=model_name)
class ModelManager():
def __init__(self):
self.models = {
"mistral": MistralModel(),
"openai": OpenAIModel(),
"anthropic": AnthropicModel(),
"ollama": OllamaModel()
}
def get_model(self, provider, model_name):
return self.models[provider].get_model(model_name)