repo_description: DATAGEN: AI-driven multi-agent research assistant automating hypothesis generation, data analysis, and report writing. 
repo_topics: agent ai ai-data-analysis artificial-intelligence code-generation data-analysis data-analytics data-science langchain langgraph large-language-model large-language-models llm multiagent-systems python
code: from abc import ABC, abstractmethod
  from typing import Type
  
  class BaseProvider(ABC):
      """An abstract base class for LLM providers."""
  
      @abstractmethod
      def get_model_class(self) -> Type:
          """
          Gets the model class for the provider.
  
          Returns:
              The class of the language model (e.g., ChatOpenAI).
          """
          pass