from __future__ import annotations from .. import migration @migration.migration_class('ppio-config', 40) class PPIOConfigMigration(migration.Migration): """PPIO配置迁移""" async def need_migrate(self) -> bool: """判断当前环境是否需要运行此迁移""" return ( 'ppio-chat-completions' not in self.ap.provider_cfg.data['requester'] or 'ppio' not in self.ap.provider_cfg.data['keys'] ) async def run(self): """执行迁移""" if 'ppio-chat-completions' not in self.ap.provider_cfg.data['requester']: self.ap.provider_cfg.data['requester']['ppio-chat-completions'] = { 'base-url': 'https://api.ppinfra.com/v3/openai', 'args': {}, 'timeout': 120, } if 'ppio' not in self.ap.provider_cfg.data['keys']: self.ap.provider_cfg.data['keys']['ppio'] = [] await self.ap.provider_cfg.dump_config()