1313
1414import tomli
1515import tomli_w
16- from pydantic import BaseModel , Field , field_validator
16+ from pydantic import BaseModel , Field
1717
1818from src .config .static .models import (
1919 DEFAULT_CHAT_MODEL_PROVIDERS ,
@@ -172,13 +172,10 @@ def _handle_environment(self):
172172 self .model_dir = os .environ .get ("MODEL_DIR" , self .model_dir )
173173 if self .model_dir :
174174 if os .path .exists (self .model_dir ):
175- logger .debug (
176- f"Model directory ({ self .model_dir } ) contains: { os .listdir (self .model_dir )} "
177- )
175+ logger .debug (f"Model directory ({ self .model_dir } ) contains: { os .listdir (self .model_dir )} " )
178176 else :
179177 logger .warning (
180- f"Model directory ({ self .model_dir } ) does not exist. "
181- "If not configured, please ignore it."
178+ f"Model directory ({ self .model_dir } ) does not exist. If not configured, please ignore it."
182179 )
183180
184181 # 检查模型提供商的环境变量
@@ -195,14 +192,10 @@ def _handle_environment(self):
195192 self .enable_web_search = True
196193
197194 # 获取可用的模型提供商
198- self .valuable_model_provider = [
199- k for k , v in self .model_provider_status .items () if v
200- ]
195+ self .valuable_model_provider = [k for k , v in self .model_provider_status .items () if v ]
201196
202197 if not self .valuable_model_provider :
203- raise ValueError (
204- "No model provider available, please check your `.env` file."
205- )
198+ raise ValueError ("No model provider available, please check your `.env` file." )
206199
207200 def save (self ):
208201 """保存配置到 TOML 文件(仅保存用户修改的字段)"""
@@ -251,15 +244,11 @@ def dump_config(self) -> dict[str, Any]:
251244 )
252245
253246 # 添加模型信息(转换为字典格式供前端使用)
254- config_dict ["model_names" ] = {
255- provider : info .model_dump () for provider , info in self .model_names .items ()
256- }
247+ config_dict ["model_names" ] = {provider : info .model_dump () for provider , info in self .model_names .items ()}
257248 config_dict ["embed_model_names" ] = {
258249 model_id : info .model_dump () for model_id , info in self .embed_model_names .items ()
259250 }
260- config_dict ["reranker_names" ] = {
261- model_id : info .model_dump () for model_id , info in self .reranker_names .items ()
262- }
251+ config_dict ["reranker_names" ] = {model_id : info .model_dump () for model_id , info in self .reranker_names .items ()}
263252
264253 # 添加运行时状态信息
265254 config_dict ["model_provider_status" ] = self .model_provider_status
@@ -269,10 +258,12 @@ def dump_config(self) -> dict[str, Any]:
269258 for field_name , field_info in Config .model_fields .items ():
270259 if not field_info .exclude : # 排除内部字段
271260 fields_info [field_name ] = {
272- 'des' : field_info .description ,
273- 'default' : field_info .default ,
274- 'type' : field_info .annotation .__name__ if hasattr (field_info .annotation , '__name__' ) else str (field_info .annotation ),
275- 'exclude' : field_info .exclude if hasattr (field_info , 'exclude' ) else False ,
261+ "des" : field_info .description ,
262+ "default" : field_info .default ,
263+ "type" : field_info .annotation .__name__
264+ if hasattr (field_info .annotation , "__name__" )
265+ else str (field_info .annotation ),
266+ "exclude" : field_info .exclude if hasattr (field_info , "exclude" ) else False ,
276267 }
277268 config_dict ["_config_items" ] = fields_info
278269
@@ -301,14 +292,12 @@ def get_reranker_choices(self) -> list[str]:
301292
302293 def __getitem__ (self , key : str ) -> Any :
303294 """支持字典式访问 config[key]"""
304- logger .warning ("Using deprecated dict-style access for Config. "
305- "Please use attribute access instead." )
295+ logger .warning ("Using deprecated dict-style access for Config. Please use attribute access instead." )
306296 return getattr (self , key , None )
307297
308298 def __setitem__ (self , key : str , value : Any ):
309299 """支持字典式赋值 config[key] = value"""
310- logger .warning ("Using deprecated dict-style assignment for Config. "
311- "Please use attribute access instead." )
300+ logger .warning ("Using deprecated dict-style assignment for Config. Please use attribute access instead." )
312301 setattr (self , key , value )
313302
314303 def update (self , other : dict ):
@@ -352,8 +341,7 @@ def _save_models_to_file(self, provider_name: str = None):
352341 else :
353342 # 保存所有 model_names
354343 user_config ["model_names" ] = {
355- provider : info .model_dump ()
356- for provider , info in self .model_names .items ()
344+ provider : info .model_dump () for provider , info in self .model_names .items ()
357345 }
358346 # 记录整个 model_names 字段的修改
359347 self ._user_modified_fields .add ("model_names" )
0 commit comments