MCPcopy Index your code
hub / github.com/dataease/SQLBot / LLMConfig

Class LLMConfig

backend/apps/ai_model/model_factory.py:21–47  ·  view source on GitHub ↗

Base configuration class for large language models

Source from the content-addressed store, hash-verified

19# from langchain_community.llms import Tongyi, VLLM
20
21class LLMConfig(BaseModel):
22 """Base configuration class for large language models"""
23 model_id: Optional[int] = None
24 model_type: str # Model type: openai/tongyi/vllm etc.
25 model_name: str # Specific model name
26 api_key: Optional[str] = None
27 api_base_url: Optional[str] = None
28 additional_params: Dict[str, Any] = {}
29
30 class Config:
31 frozen = True
32
33 def __hash__(self):
34 if hasattr(self, 'additional_params') and isinstance(self.additional_params, dict):
35 hashable_params = frozenset((k, tuple(v) if isinstance(v, (list, dict)) else v)
36 for k, v in self.additional_params.items())
37 else:
38 hashable_params = None
39
40 return hash((
41 self.model_id,
42 self.model_type,
43 self.model_name,
44 self.api_key,
45 self.api_base_url,
46 hashable_params
47 ))
48
49
50class BaseLLM(ABC):

Callers 2

generateFunction · 0.90
get_default_configFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected