11# Generated by Django 5.2.3 on 2025-06-23 02:14
2+ import json
23
34import django .db .models .deletion
45import uuid_utils .compat
56from django .db import migrations , models
67
8+ from common .utils .rsa_util import rsa_long_encrypt
9+ from maxkb .const import CONFIG
10+ from models_provider .models import Status
711
8- class Migration (migrations .Migration ):
12+ default_embedding_model_id = '42f63a3d-427e-11ef-b3ec-a8a1595801ab'
13+
14+
15+ def save_default_embedding_model (apps , schema_editor ):
16+ ModelModel = apps .get_model ('models_provider' , 'Model' )
17+ cache_folder = CONFIG .get ('EMBEDDING_MODEL_PATH' )
18+ model_name = CONFIG .get ('EMBEDDING_MODEL_NAME' )
19+ credential = {'cache_folder' : cache_folder }
20+ model_credential_str = json .dumps (credential )
21+ model = ModelModel (id = default_embedding_model_id , name = 'maxkb-embedding' , status = Status .SUCCESS ,
22+ model_type = "EMBEDDING" , model_name = model_name , user_id = 'f0dd8f71-e4ee-11ee-8c84-a8a1595801ab' ,
23+ provider = 'model_local_provider' ,
24+ credential = rsa_long_encrypt (model_credential_str ), meta = {},
25+ workspace_id = 'None' )
26+ model .save ()
927
28+
29+ class Migration (migrations .Migration ):
1030 initial = True
1131
1232 dependencies = [
@@ -19,21 +39,28 @@ class Migration(migrations.Migration):
1939 fields = [
2040 ('create_time' , models .DateTimeField (auto_now_add = True , verbose_name = '创建时间' )),
2141 ('update_time' , models .DateTimeField (auto_now = True , verbose_name = '修改时间' )),
22- ('id' , models .UUIDField (default = uuid_utils .compat .uuid7 , editable = False , primary_key = True , serialize = False , verbose_name = '主键id' )),
42+ ('id' ,
43+ models .UUIDField (default = uuid_utils .compat .uuid7 , editable = False , primary_key = True , serialize = False ,
44+ verbose_name = '主键id' )),
2345 ('name' , models .CharField (max_length = 128 , verbose_name = '名称' )),
24- ('status' , models .CharField (choices = [('SUCCESS' , '成功' ), ('ERROR' , '失败' ), ('DOWNLOAD' , '下载中' ), ('PAUSE_DOWNLOAD' , '暂停下载' )], default = 'SUCCESS' , max_length = 20 , verbose_name = '设置类型' )),
46+ ('status' , models .CharField (choices = [('SUCCESS' , '成功' ), ('ERROR' , '失败' ), ('DOWNLOAD' , '下载中' ),
47+ ('PAUSE_DOWNLOAD' , '暂停下载' )], default = 'SUCCESS' , max_length = 20 ,
48+ verbose_name = '设置类型' )),
2549 ('model_type' , models .CharField (max_length = 128 , verbose_name = '模型类型' )),
2650 ('model_name' , models .CharField (max_length = 128 , verbose_name = '模型名称' )),
2751 ('provider' , models .CharField (max_length = 128 , verbose_name = '供应商' )),
2852 ('credential' , models .CharField (max_length = 102400 , verbose_name = '模型认证信息' )),
2953 ('meta' , models .JSONField (default = dict , verbose_name = '模型元数据,用于存储下载,或者错误信息' )),
3054 ('model_params_form' , models .JSONField (default = list , verbose_name = '模型参数配置' )),
31- ('workspace_id' , models .CharField (db_index = True , default = 'default' , max_length = 64 , verbose_name = '工作空间id' )),
32- ('user' , models .ForeignKey (on_delete = django .db .models .deletion .DO_NOTHING , to = 'users.user' , verbose_name = '成员用户id' )),
55+ ('workspace_id' ,
56+ models .CharField (db_index = True , default = 'default' , max_length = 64 , verbose_name = '工作空间id' )),
57+ ('user' , models .ForeignKey (on_delete = django .db .models .deletion .DO_NOTHING , to = 'users.user' ,
58+ verbose_name = '成员用户id' )),
3359 ],
3460 options = {
3561 'db_table' : 'model' ,
3662 'unique_together' : {('name' , 'user_id' )},
3763 },
3864 ),
65+ migrations .RunPython (save_default_embedding_model ),
3966 ]
0 commit comments