From 7e67fbc5928184beffd6572930014ee4505cb2b5 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Mon, 23 Jun 2025 10:35:29 +0800 Subject: [PATCH] refactor: add model initial sql --- .../migrations/0001_initial.py | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/apps/models_provider/migrations/0001_initial.py b/apps/models_provider/migrations/0001_initial.py index a76d0f383..562a2a7a5 100644 --- a/apps/models_provider/migrations/0001_initial.py +++ b/apps/models_provider/migrations/0001_initial.py @@ -1,12 +1,32 @@ # Generated by Django 5.2.3 on 2025-06-23 02:14 +import json import django.db.models.deletion import uuid_utils.compat from django.db import migrations, models +from common.utils.rsa_util import rsa_long_encrypt +from maxkb.const import CONFIG +from models_provider.models import Status + +default_embedding_model_id = '42f63a3d-427e-11ef-b3ec-a8a1595801ab' + + +def save_default_embedding_model(apps, schema_editor): + ModelModel = apps.get_model('models_provider', 'Model') + cache_folder = CONFIG.get('EMBEDDING_MODEL_PATH') + model_name = CONFIG.get('EMBEDDING_MODEL_NAME') + credential = {'cache_folder': cache_folder} + model_credential_str = json.dumps(credential) + model = ModelModel(id=default_embedding_model_id, name='maxkb-embedding', status=Status.SUCCESS, + model_type="EMBEDDING", model_name=model_name, user_id='f0dd8f71-e4ee-11ee-8c84-a8a1595801ab', + provider='model_local_provider', + credential=rsa_long_encrypt(model_credential_str), meta={}, + workspace_id='None') + model.save() + class Migration(migrations.Migration): - initial = True dependencies = [ @@ -19,21 +39,28 @@ class Migration(migrations.Migration): fields=[ ('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')), - ('id', models.UUIDField(default=uuid_utils.compat.uuid7, editable=False, primary_key=True, serialize=False, verbose_name='主键id')), + ('id', + models.UUIDField(default=uuid_utils.compat.uuid7, editable=False, primary_key=True, serialize=False, + verbose_name='主键id')), ('name', models.CharField(max_length=128, verbose_name='名称')), - ('status', models.CharField(choices=[('SUCCESS', '成功'), ('ERROR', '失败'), ('DOWNLOAD', '下载中'), ('PAUSE_DOWNLOAD', '暂停下载')], default='SUCCESS', max_length=20, verbose_name='设置类型')), + ('status', models.CharField(choices=[('SUCCESS', '成功'), ('ERROR', '失败'), ('DOWNLOAD', '下载中'), + ('PAUSE_DOWNLOAD', '暂停下载')], default='SUCCESS', max_length=20, + verbose_name='设置类型')), ('model_type', models.CharField(max_length=128, verbose_name='模型类型')), ('model_name', models.CharField(max_length=128, verbose_name='模型名称')), ('provider', models.CharField(max_length=128, verbose_name='供应商')), ('credential', models.CharField(max_length=102400, verbose_name='模型认证信息')), ('meta', models.JSONField(default=dict, verbose_name='模型元数据,用于存储下载,或者错误信息')), ('model_params_form', models.JSONField(default=list, verbose_name='模型参数配置')), - ('workspace_id', models.CharField(db_index=True, default='default', max_length=64, verbose_name='工作空间id')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user', verbose_name='成员用户id')), + ('workspace_id', + models.CharField(db_index=True, default='default', max_length=64, verbose_name='工作空间id')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user', + verbose_name='成员用户id')), ], options={ 'db_table': 'model', 'unique_together': {('name', 'user_id')}, }, ), + migrations.RunPython(save_default_embedding_model), ]