Fix index=true (#1734)
### What problem does this PR solve? ### Type of change - [x] Refactoring --------- Co-authored-by: Kevin Hu <kevinhu.sh@gmail.com>
This commit is contained in:
parent
753c13d76f
commit
aac460ad29
@ -144,10 +144,10 @@ def remove_field_name_prefix(field_name):
|
|||||||
|
|
||||||
|
|
||||||
class BaseModel(Model):
|
class BaseModel(Model):
|
||||||
create_time = BigIntegerField(null=True)
|
create_time = BigIntegerField(null=True, index=True)
|
||||||
create_date = DateTimeField(null=True)
|
create_date = DateTimeField(null=True, index=True)
|
||||||
update_time = BigIntegerField(null=True)
|
update_time = BigIntegerField(null=True, index=True)
|
||||||
update_date = DateTimeField(null=True)
|
update_date = DateTimeField(null=True, index=True)
|
||||||
|
|
||||||
def to_json(self):
|
def to_json(self):
|
||||||
# This function is obsolete
|
# This function is obsolete
|
||||||
@ -234,7 +234,7 @@ class BaseModel(Model):
|
|||||||
def insert(cls, __data=None, **insert):
|
def insert(cls, __data=None, **insert):
|
||||||
if isinstance(__data, dict) and __data:
|
if isinstance(__data, dict) and __data:
|
||||||
__data[cls._meta.combined["create_time"]
|
__data[cls._meta.combined["create_time"]
|
||||||
] = utils.current_timestamp()
|
] = utils.current_timestamp()
|
||||||
if insert:
|
if insert:
|
||||||
insert["create_time"] = utils.current_timestamp()
|
insert["create_time"] = utils.current_timestamp()
|
||||||
|
|
||||||
@ -248,7 +248,7 @@ class BaseModel(Model):
|
|||||||
return {}
|
return {}
|
||||||
|
|
||||||
normalized[cls._meta.combined["update_time"]
|
normalized[cls._meta.combined["update_time"]
|
||||||
] = utils.current_timestamp()
|
] = utils.current_timestamp()
|
||||||
|
|
||||||
for f_n in AUTO_DATE_TIMESTAMP_FIELD_PREFIX:
|
for f_n in AUTO_DATE_TIMESTAMP_FIELD_PREFIX:
|
||||||
if {f"{f_n}_time", f"{f_n}_date"}.issubset(cls._meta.combined.keys()) and \
|
if {f"{f_n}_time", f"{f_n}_date"}.issubset(cls._meta.combined.keys()) and \
|
||||||
@ -373,9 +373,9 @@ def fill_db_model_object(model_object, human_model_dict):
|
|||||||
|
|
||||||
class User(DataBaseModel, UserMixin):
|
class User(DataBaseModel, UserMixin):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
access_token = CharField(max_length=255, null=True)
|
access_token = CharField(max_length=255, null=True, index=True)
|
||||||
nickname = CharField(max_length=100, null=False, help_text="nicky name")
|
nickname = CharField(max_length=100, null=False, help_text="nicky name", index=True)
|
||||||
password = CharField(max_length=255, null=True, help_text="password")
|
password = CharField(max_length=255, null=True, help_text="password", index=True)
|
||||||
email = CharField(
|
email = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=False,
|
null=False,
|
||||||
@ -386,28 +386,32 @@ class User(DataBaseModel, UserMixin):
|
|||||||
max_length=32,
|
max_length=32,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="English|Chinese",
|
help_text="English|Chinese",
|
||||||
default="Chinese" if "zh_CN" in os.getenv("LANG", "") else "English")
|
default="Chinese" if "zh_CN" in os.getenv("LANG", "") else "English",
|
||||||
|
index=True)
|
||||||
color_schema = CharField(
|
color_schema = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="Bright|Dark",
|
help_text="Bright|Dark",
|
||||||
default="Bright")
|
default="Bright",
|
||||||
|
index=True)
|
||||||
timezone = CharField(
|
timezone = CharField(
|
||||||
max_length=64,
|
max_length=64,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="Timezone",
|
help_text="Timezone",
|
||||||
default="UTC+8\tAsia/Shanghai")
|
default="UTC+8\tAsia/Shanghai",
|
||||||
last_login_time = DateTimeField(null=True)
|
index=True)
|
||||||
is_authenticated = CharField(max_length=1, null=False, default="1")
|
last_login_time = DateTimeField(null=True, index=True)
|
||||||
is_active = CharField(max_length=1, null=False, default="1")
|
is_authenticated = CharField(max_length=1, null=False, default="1", index=True)
|
||||||
is_anonymous = CharField(max_length=1, null=False, default="0")
|
is_active = CharField(max_length=1, null=False, default="1", index=True)
|
||||||
login_channel = CharField(null=True, help_text="from which user login")
|
is_anonymous = CharField(max_length=1, null=False, default="0", index=True)
|
||||||
|
login_channel = CharField(null=True, help_text="from which user login", index=True)
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
is_superuser = BooleanField(null=True, help_text="is root", default=False)
|
index=True)
|
||||||
|
is_superuser = BooleanField(null=True, help_text="is root", default=False, index=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.email
|
return self.email
|
||||||
@ -422,35 +426,41 @@ class User(DataBaseModel, UserMixin):
|
|||||||
|
|
||||||
class Tenant(DataBaseModel):
|
class Tenant(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
name = CharField(max_length=100, null=True, help_text="Tenant name")
|
name = CharField(max_length=100, null=True, help_text="Tenant name", index=True)
|
||||||
public_key = CharField(max_length=255, null=True)
|
public_key = CharField(max_length=255, null=True, index=True)
|
||||||
llm_id = CharField(max_length=128, null=False, help_text="default llm ID")
|
llm_id = CharField(max_length=128, null=False, help_text="default llm ID", index=True)
|
||||||
embd_id = CharField(
|
embd_id = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default embedding model ID")
|
help_text="default embedding model ID",
|
||||||
|
index=True)
|
||||||
asr_id = CharField(
|
asr_id = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default ASR model ID")
|
help_text="default ASR model ID",
|
||||||
|
index=True)
|
||||||
img2txt_id = CharField(
|
img2txt_id = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default image to text model ID")
|
help_text="default image to text model ID",
|
||||||
|
index=True)
|
||||||
rerank_id = CharField(
|
rerank_id = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default rerank model ID")
|
help_text="default rerank model ID",
|
||||||
|
index=True)
|
||||||
parser_ids = CharField(
|
parser_ids = CharField(
|
||||||
max_length=256,
|
max_length=256,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="document processors")
|
help_text="document processors",
|
||||||
credit = IntegerField(default=512)
|
index=True)
|
||||||
|
credit = IntegerField(default=512, index=True)
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "tenant"
|
db_table = "tenant"
|
||||||
@ -458,15 +468,16 @@ class Tenant(DataBaseModel):
|
|||||||
|
|
||||||
class UserTenant(DataBaseModel):
|
class UserTenant(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
user_id = CharField(max_length=32, null=False)
|
user_id = CharField(max_length=32, null=False, index=True)
|
||||||
tenant_id = CharField(max_length=32, null=False)
|
tenant_id = CharField(max_length=32, null=False, index=True)
|
||||||
role = CharField(max_length=32, null=False, help_text="UserTenantRole")
|
role = CharField(max_length=32, null=False, help_text="UserTenantRole", index=True)
|
||||||
invited_by = CharField(max_length=32, null=False)
|
invited_by = CharField(max_length=32, null=False, index=True)
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "user_tenant"
|
db_table = "user_tenant"
|
||||||
@ -474,15 +485,16 @@ class UserTenant(DataBaseModel):
|
|||||||
|
|
||||||
class InvitationCode(DataBaseModel):
|
class InvitationCode(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
code = CharField(max_length=32, null=False)
|
code = CharField(max_length=32, null=False, index=True)
|
||||||
visit_time = DateTimeField(null=True)
|
visit_time = DateTimeField(null=True, index=True)
|
||||||
user_id = CharField(max_length=32, null=True)
|
user_id = CharField(max_length=32, null=True, index=True)
|
||||||
tenant_id = CharField(max_length=32, null=True)
|
tenant_id = CharField(max_length=32, null=True, index=True)
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "invitation_code"
|
db_table = "invitation_code"
|
||||||
@ -498,12 +510,14 @@ class LLMFactories(DataBaseModel):
|
|||||||
tags = CharField(
|
tags = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="LLM, Text Embedding, Image2Text, ASR")
|
help_text="LLM, Text Embedding, Image2Text, ASR",
|
||||||
|
index=True)
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
@ -523,18 +537,22 @@ class LLM(DataBaseModel):
|
|||||||
model_type = CharField(
|
model_type = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="LLM, Text Embedding, Image2Text, ASR")
|
help_text="LLM, Text Embedding, Image2Text, ASR",
|
||||||
fid = CharField(max_length=128, null=False, help_text="LLM factory id")
|
index=True)
|
||||||
|
fid = CharField(max_length=128, null=False, help_text="LLM factory id", index=True)
|
||||||
max_tokens = IntegerField(default=0)
|
max_tokens = IntegerField(default=0)
|
||||||
|
|
||||||
tags = CharField(
|
tags = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="LLM, Text Embedding, Image2Text, Chat, 32k...")
|
help_text="LLM, Text Embedding, Image2Text, Chat, 32k...",
|
||||||
|
index=True)
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.llm_name
|
return self.llm_name
|
||||||
@ -544,23 +562,27 @@ class LLM(DataBaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class TenantLLM(DataBaseModel):
|
class TenantLLM(DataBaseModel):
|
||||||
tenant_id = CharField(max_length=32, null=False)
|
tenant_id = CharField(max_length=32, null=False, index=True)
|
||||||
llm_factory = CharField(
|
llm_factory = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="LLM factory name")
|
help_text="LLM factory name",
|
||||||
|
index=True)
|
||||||
model_type = CharField(
|
model_type = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="LLM, Text Embedding, Image2Text, ASR")
|
help_text="LLM, Text Embedding, Image2Text, ASR",
|
||||||
|
index=True)
|
||||||
llm_name = CharField(
|
llm_name = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="LLM name",
|
help_text="LLM name",
|
||||||
default="")
|
default="",
|
||||||
api_key = CharField(max_length=1024, null=True, help_text="API KEY")
|
index=True)
|
||||||
|
api_key = CharField(max_length=1024, null=True, help_text="API KEY", index=True)
|
||||||
api_base = CharField(max_length=255, null=True, help_text="API Base")
|
api_base = CharField(max_length=255, null=True, help_text="API Base")
|
||||||
used_tokens = IntegerField(default=0)
|
|
||||||
|
used_tokens = IntegerField(default=0, index=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.llm_name
|
return self.llm_name
|
||||||
@ -573,7 +595,7 @@ class TenantLLM(DataBaseModel):
|
|||||||
class Knowledgebase(DataBaseModel):
|
class Knowledgebase(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
avatar = TextField(null=True, help_text="avatar base64 string")
|
avatar = TextField(null=True, help_text="avatar base64 string")
|
||||||
tenant_id = CharField(max_length=32, null=False)
|
tenant_id = CharField(max_length=32, null=False, index=True)
|
||||||
name = CharField(
|
name = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
@ -583,35 +605,40 @@ class Knowledgebase(DataBaseModel):
|
|||||||
max_length=32,
|
max_length=32,
|
||||||
null=True,
|
null=True,
|
||||||
default="Chinese" if "zh_CN" in os.getenv("LANG", "") else "English",
|
default="Chinese" if "zh_CN" in os.getenv("LANG", "") else "English",
|
||||||
help_text="English|Chinese")
|
help_text="English|Chinese",
|
||||||
|
index=True)
|
||||||
description = TextField(null=True, help_text="KB description")
|
description = TextField(null=True, help_text="KB description")
|
||||||
embd_id = CharField(
|
embd_id = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default embedding model ID")
|
help_text="default embedding model ID",
|
||||||
|
index=True)
|
||||||
permission = CharField(
|
permission = CharField(
|
||||||
max_length=16,
|
max_length=16,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="me|team",
|
help_text="me|team",
|
||||||
default="me")
|
default="me",
|
||||||
created_by = CharField(max_length=32, null=False)
|
index=True)
|
||||||
doc_num = IntegerField(default=0)
|
created_by = CharField(max_length=32, null=False, index=True)
|
||||||
token_num = IntegerField(default=0)
|
doc_num = IntegerField(default=0, index=True)
|
||||||
chunk_num = IntegerField(default=0)
|
token_num = IntegerField(default=0, index=True)
|
||||||
similarity_threshold = FloatField(default=0.2)
|
chunk_num = IntegerField(default=0, index=True)
|
||||||
vector_similarity_weight = FloatField(default=0.3)
|
similarity_threshold = FloatField(default=0.2, index=True)
|
||||||
|
vector_similarity_weight = FloatField(default=0.3, index=True)
|
||||||
|
|
||||||
parser_id = CharField(
|
parser_id = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default parser ID",
|
help_text="default parser ID",
|
||||||
default=ParserType.NAIVE.value)
|
default=ParserType.NAIVE.value,
|
||||||
|
index=True)
|
||||||
parser_config = JSONField(null=False, default={"pages": [[1, 1000000]]})
|
parser_config = JSONField(null=False, default={"pages": [[1, 1000000]]})
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
@ -627,18 +654,22 @@ class Document(DataBaseModel):
|
|||||||
parser_id = CharField(
|
parser_id = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default parser ID")
|
help_text="default parser ID",
|
||||||
|
index=True)
|
||||||
parser_config = JSONField(null=False, default={"pages": [[1, 1000000]]})
|
parser_config = JSONField(null=False, default={"pages": [[1, 1000000]]})
|
||||||
source_type = CharField(
|
source_type = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
default="local",
|
default="local",
|
||||||
help_text="where dose this document come from")
|
help_text="where dose this document come from",
|
||||||
type = CharField(max_length=32, null=False, help_text="file extension")
|
index=True)
|
||||||
|
type = CharField(max_length=32, null=False, help_text="file extension",
|
||||||
|
index=True)
|
||||||
created_by = CharField(
|
created_by = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="who created it")
|
help_text="who created it",
|
||||||
|
index=True)
|
||||||
name = CharField(
|
name = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=True,
|
null=True,
|
||||||
@ -647,27 +678,31 @@ class Document(DataBaseModel):
|
|||||||
location = CharField(
|
location = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="where dose it store")
|
help_text="where dose it store",
|
||||||
size = IntegerField(default=0)
|
index=True)
|
||||||
token_num = IntegerField(default=0)
|
size = IntegerField(default=0, index=True)
|
||||||
chunk_num = IntegerField(default=0)
|
token_num = IntegerField(default=0, index=True)
|
||||||
progress = FloatField(default=0)
|
chunk_num = IntegerField(default=0, index=True)
|
||||||
|
progress = FloatField(default=0, index=True)
|
||||||
progress_msg = TextField(
|
progress_msg = TextField(
|
||||||
null=True,
|
null=True,
|
||||||
help_text="process message",
|
help_text="process message",
|
||||||
default="")
|
default="")
|
||||||
process_begin_at = DateTimeField(null=True)
|
process_begin_at = DateTimeField(null=True, index=True)
|
||||||
process_duation = FloatField(default=0)
|
process_duation = FloatField(default=0)
|
||||||
|
|
||||||
run = CharField(
|
run = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="start to run processing or cancel.(1: run it; 2: cancel)",
|
help_text="start to run processing or cancel.(1: run it; 2: cancel)",
|
||||||
default="0")
|
default="0",
|
||||||
|
index=True)
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "document"
|
db_table = "document"
|
||||||
@ -676,8 +711,7 @@ class Document(DataBaseModel):
|
|||||||
class File(DataBaseModel):
|
class File(DataBaseModel):
|
||||||
id = CharField(
|
id = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
primary_key=True,
|
primary_key=True)
|
||||||
)
|
|
||||||
parent_id = CharField(
|
parent_id = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=False,
|
null=False,
|
||||||
@ -691,7 +725,8 @@ class File(DataBaseModel):
|
|||||||
created_by = CharField(
|
created_by = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="who created it")
|
help_text="who created it",
|
||||||
|
index=True)
|
||||||
name = CharField(
|
name = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=False,
|
null=False,
|
||||||
@ -700,14 +735,15 @@ class File(DataBaseModel):
|
|||||||
location = CharField(
|
location = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="where dose it store")
|
help_text="where dose it store",
|
||||||
size = IntegerField(default=0)
|
index=True)
|
||||||
type = CharField(max_length=32, null=False, help_text="file extension")
|
size = IntegerField(default=0, index=True)
|
||||||
|
type = CharField(max_length=32, null=False, help_text="file extension", index=True)
|
||||||
source_type = CharField(
|
source_type = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
default="",
|
default="",
|
||||||
help_text="where dose this document come from")
|
help_text="where dose this document come from", index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "file"
|
db_table = "file"
|
||||||
@ -716,8 +752,7 @@ class File(DataBaseModel):
|
|||||||
class File2Document(DataBaseModel):
|
class File2Document(DataBaseModel):
|
||||||
id = CharField(
|
id = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
primary_key=True,
|
primary_key=True)
|
||||||
)
|
|
||||||
file_id = CharField(
|
file_id = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=True,
|
null=True,
|
||||||
@ -737,10 +772,13 @@ class Task(DataBaseModel):
|
|||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
doc_id = CharField(max_length=32, null=False, index=True)
|
doc_id = CharField(max_length=32, null=False, index=True)
|
||||||
from_page = IntegerField(default=0)
|
from_page = IntegerField(default=0)
|
||||||
|
|
||||||
to_page = IntegerField(default=-1)
|
to_page = IntegerField(default=-1)
|
||||||
begin_at = DateTimeField(null=True)
|
|
||||||
|
begin_at = DateTimeField(null=True, index=True)
|
||||||
process_duation = FloatField(default=0)
|
process_duation = FloatField(default=0)
|
||||||
progress = FloatField(default=0)
|
|
||||||
|
progress = FloatField(default=0, index=True)
|
||||||
progress_msg = TextField(
|
progress_msg = TextField(
|
||||||
null=True,
|
null=True,
|
||||||
help_text="process message",
|
help_text="process message",
|
||||||
@ -749,49 +787,56 @@ class Task(DataBaseModel):
|
|||||||
|
|
||||||
class Dialog(DataBaseModel):
|
class Dialog(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
tenant_id = CharField(max_length=32, null=False)
|
tenant_id = CharField(max_length=32, null=False, index=True)
|
||||||
name = CharField(
|
name = CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="dialog application name")
|
help_text="dialog application name",
|
||||||
|
index=True)
|
||||||
description = TextField(null=True, help_text="Dialog description")
|
description = TextField(null=True, help_text="Dialog description")
|
||||||
icon = TextField(null=True, help_text="icon base64 string")
|
icon = TextField(null=True, help_text="icon base64 string")
|
||||||
language = CharField(
|
language = CharField(
|
||||||
max_length=32,
|
max_length=32,
|
||||||
null=True,
|
null=True,
|
||||||
default="Chinese" if "zh_CN" in os.getenv("LANG", "") else "English",
|
default="Chinese" if "zh_CN" in os.getenv("LANG", "") else "English",
|
||||||
help_text="English|Chinese")
|
help_text="English|Chinese",
|
||||||
|
index=True)
|
||||||
llm_id = CharField(max_length=128, null=False, help_text="default llm ID")
|
llm_id = CharField(max_length=128, null=False, help_text="default llm ID")
|
||||||
|
|
||||||
llm_setting = JSONField(null=False, default={"temperature": 0.1, "top_p": 0.3, "frequency_penalty": 0.7,
|
llm_setting = JSONField(null=False, default={"temperature": 0.1, "top_p": 0.3, "frequency_penalty": 0.7,
|
||||||
"presence_penalty": 0.4, "max_tokens": 512})
|
"presence_penalty": 0.4, "max_tokens": 512})
|
||||||
prompt_type = CharField(
|
prompt_type = CharField(
|
||||||
max_length=16,
|
max_length=16,
|
||||||
null=False,
|
null=False,
|
||||||
default="simple",
|
default="simple",
|
||||||
help_text="simple|advanced")
|
help_text="simple|advanced",
|
||||||
|
index=True)
|
||||||
prompt_config = JSONField(null=False, default={"system": "", "prologue": "您好,我是您的助手小樱,长得可爱又善良,can I help you?",
|
prompt_config = JSONField(null=False, default={"system": "", "prologue": "您好,我是您的助手小樱,长得可爱又善良,can I help you?",
|
||||||
"parameters": [], "empty_response": "Sorry! 知识库中未找到相关内容!"})
|
"parameters": [], "empty_response": "Sorry! 知识库中未找到相关内容!"})
|
||||||
|
|
||||||
similarity_threshold = FloatField(default=0.2)
|
similarity_threshold = FloatField(default=0.2)
|
||||||
vector_similarity_weight = FloatField(default=0.3)
|
vector_similarity_weight = FloatField(default=0.3)
|
||||||
|
|
||||||
top_n = IntegerField(default=6)
|
top_n = IntegerField(default=6)
|
||||||
|
|
||||||
top_k = IntegerField(default=1024)
|
top_k = IntegerField(default=1024)
|
||||||
|
|
||||||
do_refer = CharField(
|
do_refer = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="it needs to insert reference index into answer or not",
|
help_text="it needs to insert reference index into answer or not",
|
||||||
default="1")
|
|
||||||
rerank_id = CharField(
|
rerank_id = CharField(
|
||||||
max_length=128,
|
max_length=128,
|
||||||
null=False,
|
null=False,
|
||||||
help_text="default rerank model ID")
|
help_text="default rerank model ID",
|
||||||
|
|
||||||
kb_ids = JSONField(null=False, default=[])
|
kb_ids = JSONField(null=False, default=[])
|
||||||
status = CharField(
|
status = CharField(
|
||||||
max_length=1,
|
max_length=1,
|
||||||
null=True,
|
null=True,
|
||||||
help_text="is it validate(0: wasted,1: validate)",
|
help_text="is it validate(0: wasted,1: validate)",
|
||||||
default="1")
|
default="1",
|
||||||
|
index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "dialog"
|
db_table = "dialog"
|
||||||
@ -800,7 +845,7 @@ class Dialog(DataBaseModel):
|
|||||||
class Conversation(DataBaseModel):
|
class Conversation(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
dialog_id = CharField(max_length=32, null=False, index=True)
|
dialog_id = CharField(max_length=32, null=False, index=True)
|
||||||
name = CharField(max_length=255, null=True, help_text="converastion name")
|
name = CharField(max_length=255, null=True, help_text="converastion name", index=True)
|
||||||
message = JSONField(null=True)
|
message = JSONField(null=True)
|
||||||
reference = JSONField(null=True, default=[])
|
reference = JSONField(null=True, default=[])
|
||||||
|
|
||||||
@ -809,8 +854,8 @@ class Conversation(DataBaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class APIToken(DataBaseModel):
|
class APIToken(DataBaseModel):
|
||||||
tenant_id = CharField(max_length=32, null=False)
|
tenant_id = CharField(max_length=32, null=False, index=True)
|
||||||
token = CharField(max_length=255, null=False)
|
token = CharField(max_length=255, null=False, index=True)
|
||||||
dialog_id = CharField(max_length=32, null=False, index=True)
|
dialog_id = CharField(max_length=32, null=False, index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -821,13 +866,14 @@ class APIToken(DataBaseModel):
|
|||||||
class API4Conversation(DataBaseModel):
|
class API4Conversation(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
dialog_id = CharField(max_length=32, null=False, index=True)
|
dialog_id = CharField(max_length=32, null=False, index=True)
|
||||||
user_id = CharField(max_length=255, null=False, help_text="user_id")
|
user_id = CharField(max_length=255, null=False, help_text="user_id", index=True)
|
||||||
message = JSONField(null=True)
|
message = JSONField(null=True)
|
||||||
reference = JSONField(null=True, default=[])
|
reference = JSONField(null=True, default=[])
|
||||||
tokens = IntegerField(default=0)
|
tokens = IntegerField(default=0)
|
||||||
duration = FloatField(default=0)
|
|
||||||
round = IntegerField(default=0)
|
duration = FloatField(default=0, index=True)
|
||||||
thumb_up = IntegerField(default=0)
|
round = IntegerField(default=0, index=True)
|
||||||
|
thumb_up = IntegerField(default=0, index=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = "api_4_conversation"
|
db_table = "api_4_conversation"
|
||||||
@ -836,10 +882,11 @@ class API4Conversation(DataBaseModel):
|
|||||||
class UserCanvas(DataBaseModel):
|
class UserCanvas(DataBaseModel):
|
||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
avatar = TextField(null=True, help_text="avatar base64 string")
|
avatar = TextField(null=True, help_text="avatar base64 string")
|
||||||
user_id = CharField(max_length=255, null=False, help_text="user_id")
|
user_id = CharField(max_length=255, null=False, help_text="user_id", index=True)
|
||||||
title = CharField(max_length=255, null=True, help_text="Canvas title")
|
title = CharField(max_length=255, null=True, help_text="Canvas title")
|
||||||
|
|
||||||
description = TextField(null=True, help_text="Canvas description")
|
description = TextField(null=True, help_text="Canvas description")
|
||||||
canvas_type = CharField(max_length=32, null=True, help_text="Canvas type")
|
canvas_type = CharField(max_length=32, null=True, help_text="Canvas type", index=True)
|
||||||
dsl = JSONField(null=True, default={})
|
dsl = JSONField(null=True, default={})
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -850,8 +897,9 @@ class CanvasTemplate(DataBaseModel):
|
|||||||
id = CharField(max_length=32, primary_key=True)
|
id = CharField(max_length=32, primary_key=True)
|
||||||
avatar = TextField(null=True, help_text="avatar base64 string")
|
avatar = TextField(null=True, help_text="avatar base64 string")
|
||||||
title = CharField(max_length=255, null=True, help_text="Canvas title")
|
title = CharField(max_length=255, null=True, help_text="Canvas title")
|
||||||
|
|
||||||
description = TextField(null=True, help_text="Canvas description")
|
description = TextField(null=True, help_text="Canvas description")
|
||||||
canvas_type = CharField(max_length=32, null=True, help_text="Canvas type")
|
canvas_type = CharField(max_length=32, null=True, help_text="Canvas type", index=True)
|
||||||
dsl = JSONField(null=True, default={})
|
dsl = JSONField(null=True, default={})
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -859,35 +907,44 @@ class CanvasTemplate(DataBaseModel):
|
|||||||
|
|
||||||
|
|
||||||
def migrate_db():
|
def migrate_db():
|
||||||
with DB.transaction():
|
with DB.transaction():
|
||||||
migrator = MySQLMigrator(DB)
|
migrator = MySQLMigrator(DB)
|
||||||
try:
|
try:
|
||||||
migrate(
|
migrate(
|
||||||
migrator.add_column('file', 'source_type', CharField(max_length=128, null=False, default="", help_text="where dose this document come from"))
|
migrator.add_column('file', 'source_type', CharField(max_length=128, null=False, default="",
|
||||||
)
|
help_text="where dose this document come from",
|
||||||
except Exception as e:
|
index=True))
|
||||||
pass
|
)
|
||||||
try:
|
except Exception as e:
|
||||||
migrate(
|
pass
|
||||||
migrator.add_column('tenant', 'rerank_id', CharField(max_length=128, null=False, default="BAAI/bge-reranker-v2-m3", help_text="default rerank model ID"))
|
try:
|
||||||
)
|
migrate(
|
||||||
except Exception as e:
|
migrator.add_column('tenant', 'rerank_id',
|
||||||
pass
|
CharField(max_length=128, null=False, default="BAAI/bge-reranker-v2-m3",
|
||||||
try:
|
help_text="default rerank model ID"))
|
||||||
migrate(
|
|
||||||
migrator.add_column('dialog', 'rerank_id', CharField(max_length=128, null=False, default="", help_text="default rerank model ID"))
|
)
|
||||||
)
|
except Exception as e:
|
||||||
except Exception as e:
|
pass
|
||||||
pass
|
try:
|
||||||
try:
|
migrate(
|
||||||
migrate(
|
migrator.add_column('dialog', 'rerank_id', CharField(max_length=128, null=False, default="",
|
||||||
migrator.add_column('dialog', 'top_k', IntegerField(default=1024))
|
help_text="default rerank model ID"))
|
||||||
)
|
|
||||||
except Exception as e:
|
)
|
||||||
pass
|
except Exception as e:
|
||||||
try:
|
pass
|
||||||
migrate(
|
try:
|
||||||
migrator.alter_column_type('tenant_llm', 'api_key', CharField(max_length=1024, null=True, help_text="API KEY"))
|
migrate(
|
||||||
)
|
migrator.add_column('dialog', 'top_k', IntegerField(default=1024))
|
||||||
except Exception as e:
|
|
||||||
pass
|
)
|
||||||
|
except Exception as e:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
migrate(
|
||||||
|
migrator.alter_column_type('tenant_llm', 'api_key',
|
||||||
|
CharField(max_length=1024, null=True, help_text="API KEY", index=True))
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
pass
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user