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

Function get_default_config

backend/apps/ai_model/model_factory.py:148–181  ·  view source on GitHub ↗
(custom_model_id: Optional[int] = None)

Source from the content-addressed store, hash-verified

146
147
148async def get_default_config(custom_model_id: Optional[int] = None) -> LLMConfig:
149 with Session(engine) as session:
150 db_model: AiModelDetail | None = None
151 if custom_model_id:
152 db_model = session.get(AiModelDetail, custom_model_id)
153 if not db_model:
154 db_model = session.exec(
155 select(AiModelDetail).where(AiModelDetail.default_model == True)
156 ).first()
157 if not db_model:
158 raise Exception("The system default model has not been set")
159
160 additional_params = {}
161 if db_model.config:
162 try:
163 config_raw = json.loads(db_model.config)
164 additional_params = {item["key"]: prepare_model_arg(item.get('val')) for item in config_raw if
165 "key" in item and "val" in item}
166 except Exception:
167 pass
168 if not db_model.api_domain.startswith("http"):
169 db_model.api_domain = await sqlbot_decrypt(db_model.api_domain)
170 if db_model.api_key:
171 db_model.api_key = await sqlbot_decrypt(db_model.api_key)
172
173 # 构造 LLMConfig
174 return LLMConfig(
175 model_id=db_model.id,
176 model_type="openai" if db_model.protocol == 1 else "vllm",
177 model_name=db_model.base_model,
178 api_key=db_model.api_key,
179 api_base_url=db_model.api_domain,
180 additional_params=additional_params,
181 )

Callers 1

createMethod · 0.90

Calls 6

prepare_model_argFunction · 0.90
sqlbot_decryptFunction · 0.90
LLMConfigClass · 0.85
getMethod · 0.65
firstMethod · 0.45
execMethod · 0.45

Tested by

no test coverage detected