1331 lines
46 KiB
Python
1331 lines
46 KiB
Python
# Generated by Django 5.2.1 on 2025-07-11 07:44
|
|
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="AIApiKey",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"name",
|
|
models.CharField(
|
|
db_comment="名称", max_length=255, verbose_name="名称"
|
|
),
|
|
),
|
|
(
|
|
"platform",
|
|
models.CharField(
|
|
choices=[
|
|
("AzureOpenAI", "OpenAI 微软"),
|
|
("OpenAI", "OpenAI"),
|
|
("Ollama", "Ollama"),
|
|
("YiYan", "文心一言"),
|
|
("XingHuo", "讯飞星火"),
|
|
("TongYi", "通义千问"),
|
|
("StableDiffusion", "StableDiffusion"),
|
|
("Midjourney", "Midjourney"),
|
|
("Suno", "Suno"),
|
|
("DeepSeek", "DeepSeek"),
|
|
("DouBao", "字节豆包"),
|
|
("HunYuan", "腾讯混元"),
|
|
("SiliconFlow", "硅基流动"),
|
|
("ZhiPu", "智谱"),
|
|
("MiniMax", "MiniMax"),
|
|
("Moonshot", "月之暗灭"),
|
|
("BaiChuan", "百川智能"),
|
|
],
|
|
db_comment="平台",
|
|
max_length=100,
|
|
verbose_name="平台",
|
|
),
|
|
),
|
|
(
|
|
"api_key",
|
|
models.CharField(
|
|
db_comment="密钥", max_length=255, verbose_name="密钥"
|
|
),
|
|
),
|
|
(
|
|
"url",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="自定义 API 地址",
|
|
max_length=255,
|
|
null=True,
|
|
verbose_name="自定义 API 地址",
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.SmallIntegerField(
|
|
choices=[(0, "禁用"), (1, "启用")],
|
|
db_comment="状态",
|
|
default=0,
|
|
verbose_name="状态",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI API 密钥",
|
|
"verbose_name_plural": "AI API 密钥",
|
|
"db_table": "ai_api_key",
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="Tool",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"name",
|
|
models.CharField(
|
|
db_comment="工具名称", max_length=128, verbose_name="工具名称"
|
|
),
|
|
),
|
|
(
|
|
"description",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="工具描述",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="工具描述",
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.SmallIntegerField(
|
|
db_comment="状态", default=0, verbose_name="状态"
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI 工具",
|
|
"verbose_name_plural": "AI 工具",
|
|
"db_table": "ai_tool",
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="AIModel",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"name",
|
|
models.CharField(
|
|
db_comment="模型名字", max_length=64, verbose_name="模型名字"
|
|
),
|
|
),
|
|
(
|
|
"sort",
|
|
models.IntegerField(
|
|
db_comment="排序", default=0, verbose_name="排序"
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.SmallIntegerField(
|
|
choices=[(0, "禁用"), (1, "启用")],
|
|
db_comment="状态",
|
|
default=0,
|
|
verbose_name="状态",
|
|
),
|
|
),
|
|
(
|
|
"platform",
|
|
models.CharField(
|
|
db_comment="模型平台", max_length=32, verbose_name="模型平台"
|
|
),
|
|
),
|
|
(
|
|
"model",
|
|
models.CharField(
|
|
db_comment="模型标识", max_length=64, verbose_name="模型标识"
|
|
),
|
|
),
|
|
(
|
|
"temperature",
|
|
models.FloatField(
|
|
blank=True,
|
|
db_comment="温度参数",
|
|
null=True,
|
|
verbose_name="温度参数",
|
|
),
|
|
),
|
|
(
|
|
"max_tokens",
|
|
models.IntegerField(
|
|
blank=True,
|
|
db_comment="单条回复的最大 Token 数量",
|
|
null=True,
|
|
verbose_name="单条回复的最大 Token 数量",
|
|
),
|
|
),
|
|
(
|
|
"max_contexts",
|
|
models.IntegerField(
|
|
blank=True,
|
|
db_comment="上下文的最大 Message 数量",
|
|
null=True,
|
|
verbose_name="上下文的最大 Message 数量",
|
|
),
|
|
),
|
|
(
|
|
"key",
|
|
models.ForeignKey(
|
|
db_comment="API 秘钥编号",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="ai.aiapikey",
|
|
verbose_name="API 秘钥编号",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "模型配置",
|
|
"verbose_name_plural": "模型配置",
|
|
"db_table": "ai_model",
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="ChatRole",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"name",
|
|
models.CharField(
|
|
db_comment="角色名称", max_length=128, verbose_name="角色名称"
|
|
),
|
|
),
|
|
(
|
|
"avatar",
|
|
models.CharField(
|
|
db_comment="头像", max_length=256, verbose_name="头像"
|
|
),
|
|
),
|
|
(
|
|
"description",
|
|
models.CharField(
|
|
db_comment="角色描述", max_length=256, verbose_name="角色描述"
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.SmallIntegerField(
|
|
choices=[(0, "禁用"), (1, "启用")],
|
|
db_comment="状态",
|
|
default=0,
|
|
verbose_name="状态",
|
|
),
|
|
),
|
|
(
|
|
"sort",
|
|
models.IntegerField(
|
|
db_comment="角色排序", default=0, verbose_name="角色排序"
|
|
),
|
|
),
|
|
(
|
|
"public_status",
|
|
models.BooleanField(
|
|
db_comment="是否公开", default=False, verbose_name="是否公开"
|
|
),
|
|
),
|
|
(
|
|
"category",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="角色类别",
|
|
max_length=32,
|
|
null=True,
|
|
verbose_name="角色类别",
|
|
),
|
|
),
|
|
(
|
|
"system_message",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="角色上下文",
|
|
max_length=1024,
|
|
null=True,
|
|
verbose_name="角色上下文",
|
|
),
|
|
),
|
|
(
|
|
"model_id",
|
|
models.ForeignKey(
|
|
db_column="model_id",
|
|
db_comment="向量模型编号",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="ai.aimodel",
|
|
verbose_name="向量模型编号",
|
|
),
|
|
),
|
|
(
|
|
"user",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
db_comment="用户编号",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to=settings.AUTH_USER_MODEL,
|
|
verbose_name="用户",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI 聊天角色",
|
|
"verbose_name_plural": "AI 聊天角色",
|
|
"db_table": "ai_chat_role",
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="ChatMessage",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"conversation_id",
|
|
models.BigIntegerField(
|
|
db_comment="对话编号", verbose_name="对话编号"
|
|
),
|
|
),
|
|
(
|
|
"model",
|
|
models.CharField(
|
|
db_comment="模型标识", max_length=32, verbose_name="模型标识"
|
|
),
|
|
),
|
|
(
|
|
"type",
|
|
models.CharField(
|
|
choices=[("user", "用户发送"), ("assistant", "模型回复")],
|
|
db_comment="消息类型",
|
|
max_length=16,
|
|
verbose_name="消息类型",
|
|
),
|
|
),
|
|
(
|
|
"reply_id",
|
|
models.BigIntegerField(
|
|
blank=True,
|
|
db_comment="回复编号",
|
|
null=True,
|
|
verbose_name="回复编号",
|
|
),
|
|
),
|
|
(
|
|
"content",
|
|
models.CharField(
|
|
db_comment="消息内容", max_length=2048, verbose_name="消息内容"
|
|
),
|
|
),
|
|
(
|
|
"use_context",
|
|
models.BooleanField(
|
|
db_comment="是否携带上下文",
|
|
default=False,
|
|
verbose_name="是否携带上下文",
|
|
),
|
|
),
|
|
(
|
|
"segment_ids",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="段落编号数组",
|
|
max_length=2048,
|
|
null=True,
|
|
verbose_name="段落编号数组",
|
|
),
|
|
),
|
|
(
|
|
"model_id",
|
|
models.ForeignKey(
|
|
db_column="model_id",
|
|
db_comment="向量模型编号",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="ai.aimodel",
|
|
verbose_name="向量模型编号",
|
|
),
|
|
),
|
|
(
|
|
"user",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
db_comment="用户编号",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to=settings.AUTH_USER_MODEL,
|
|
verbose_name="用户",
|
|
),
|
|
),
|
|
(
|
|
"role",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
db_comment="聊天角色",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="ai.chatrole",
|
|
verbose_name="聊天角色",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI 聊天消息",
|
|
"verbose_name_plural": "AI 聊天消息",
|
|
"db_table": "ai_chat_message",
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="ChatConversation",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"title",
|
|
models.CharField(
|
|
db_comment="对话标题", max_length=256, verbose_name="对话标题"
|
|
),
|
|
),
|
|
(
|
|
"pinned",
|
|
models.BooleanField(
|
|
db_comment="是否置顶", default=False, verbose_name="是否置顶"
|
|
),
|
|
),
|
|
(
|
|
"pinned_time",
|
|
models.DateTimeField(
|
|
blank=True,
|
|
db_comment="置顶时间",
|
|
null=True,
|
|
verbose_name="置顶时间",
|
|
),
|
|
),
|
|
(
|
|
"model",
|
|
models.CharField(
|
|
db_comment="模型标识", max_length=32, verbose_name="模型标识"
|
|
),
|
|
),
|
|
(
|
|
"system_message",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="角色设定",
|
|
max_length=1024,
|
|
null=True,
|
|
verbose_name="角色设定",
|
|
),
|
|
),
|
|
(
|
|
"temperature",
|
|
models.FloatField(db_comment="温度参数", verbose_name="温度参数"),
|
|
),
|
|
(
|
|
"max_tokens",
|
|
models.IntegerField(
|
|
db_comment="单条回复的最大 Token 数量",
|
|
verbose_name="单条回复的最大 Token 数量",
|
|
),
|
|
),
|
|
(
|
|
"max_contexts",
|
|
models.IntegerField(
|
|
db_comment="上下文的最大 Message 数量",
|
|
verbose_name="上下文的最大 Message 数量",
|
|
),
|
|
),
|
|
(
|
|
"model_id",
|
|
models.ForeignKey(
|
|
db_column="model_id",
|
|
db_comment="向量模型编号",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="ai.aimodel",
|
|
verbose_name="向量模型编号",
|
|
),
|
|
),
|
|
(
|
|
"user",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
db_comment="用户编号",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to=settings.AUTH_USER_MODEL,
|
|
verbose_name="用户",
|
|
),
|
|
),
|
|
(
|
|
"role",
|
|
models.ForeignKey(
|
|
blank=True,
|
|
db_comment="聊天角色",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="ai.chatrole",
|
|
verbose_name="聊天角色",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI 聊天对话",
|
|
"verbose_name_plural": "AI 聊天对话",
|
|
"db_table": "ai_chat_conversation",
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="Knowledge",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"name",
|
|
models.CharField(
|
|
db_comment="知识库名称",
|
|
max_length=255,
|
|
verbose_name="知识库名称",
|
|
),
|
|
),
|
|
(
|
|
"description",
|
|
models.TextField(
|
|
blank=True,
|
|
db_comment="知识库描述",
|
|
null=True,
|
|
verbose_name="知识库描述",
|
|
),
|
|
),
|
|
(
|
|
"embedding_model",
|
|
models.CharField(
|
|
db_comment="向量模型标识",
|
|
max_length=32,
|
|
verbose_name="向量模型标识",
|
|
),
|
|
),
|
|
(
|
|
"top_k",
|
|
models.IntegerField(
|
|
db_comment="topK", default=0, verbose_name="topK"
|
|
),
|
|
),
|
|
(
|
|
"similarity_threshold",
|
|
models.FloatField(
|
|
db_comment="相似度阈值", verbose_name="相似度阈值"
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.SmallIntegerField(
|
|
choices=[(0, "禁用"), (1, "启用")],
|
|
db_comment="状态",
|
|
default=0,
|
|
verbose_name="状态",
|
|
),
|
|
),
|
|
(
|
|
"embedding_model_id",
|
|
models.ForeignKey(
|
|
db_column="embedding_model_id",
|
|
db_comment="向量模型编号",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="ai.aimodel",
|
|
verbose_name="向量模型编号",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI 知识库",
|
|
"verbose_name_plural": "AI 知识库",
|
|
"db_table": "ai_knowledge",
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name="chatrole",
|
|
name="knowledge",
|
|
field=models.ManyToManyField(
|
|
blank=True,
|
|
db_comment="关联的知识库",
|
|
related_name="roles",
|
|
to="ai.knowledge",
|
|
verbose_name="关联的知识库",
|
|
),
|
|
),
|
|
migrations.CreateModel(
|
|
name="KnowledgeDocument",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"name",
|
|
models.CharField(
|
|
db_comment="文档名称", max_length=255, verbose_name="文档名称"
|
|
),
|
|
),
|
|
(
|
|
"url",
|
|
models.CharField(
|
|
db_comment="文件 URL", max_length=1024, verbose_name="文件 URL"
|
|
),
|
|
),
|
|
("content", models.TextField(db_comment="内容", verbose_name="内容")),
|
|
(
|
|
"content_length",
|
|
models.IntegerField(db_comment="字符数", verbose_name="字符数"),
|
|
),
|
|
(
|
|
"tokens",
|
|
models.IntegerField(
|
|
db_comment="token 数量", verbose_name="token 数量"
|
|
),
|
|
),
|
|
(
|
|
"segment_max_tokens",
|
|
models.IntegerField(
|
|
db_comment="分片最大 Token 数", verbose_name="分片最大 Token 数"
|
|
),
|
|
),
|
|
(
|
|
"retrieval_count",
|
|
models.IntegerField(
|
|
db_comment="召回次数", default=0, verbose_name="召回次数"
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.SmallIntegerField(
|
|
choices=[(0, "禁用"), (1, "启用")],
|
|
db_comment="状态",
|
|
default=0,
|
|
verbose_name="状态",
|
|
),
|
|
),
|
|
(
|
|
"knowledge",
|
|
models.ForeignKey(
|
|
db_comment="知识库",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="documents",
|
|
to="ai.knowledge",
|
|
verbose_name="知识库",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI 知识库文档",
|
|
"verbose_name_plural": "AI 知识库文档",
|
|
"db_table": "ai_knowledge_document",
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name="KnowledgeSegment",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
(
|
|
"remark",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="备注",
|
|
help_text="备注",
|
|
max_length=256,
|
|
null=True,
|
|
verbose_name="备注",
|
|
),
|
|
),
|
|
(
|
|
"creator",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="创建人",
|
|
help_text="创建人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="创建人",
|
|
),
|
|
),
|
|
(
|
|
"modifier",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="修改人",
|
|
help_text="修改人",
|
|
max_length=64,
|
|
null=True,
|
|
verbose_name="修改人",
|
|
),
|
|
),
|
|
(
|
|
"update_time",
|
|
models.DateTimeField(
|
|
auto_now=True,
|
|
db_comment="修改时间",
|
|
help_text="修改时间",
|
|
null=True,
|
|
verbose_name="修改时间",
|
|
),
|
|
),
|
|
(
|
|
"create_time",
|
|
models.DateTimeField(
|
|
auto_now_add=True,
|
|
db_comment="创建时间",
|
|
help_text="创建时间",
|
|
null=True,
|
|
verbose_name="创建时间",
|
|
),
|
|
),
|
|
(
|
|
"is_deleted",
|
|
models.BooleanField(
|
|
db_comment="是否软删除",
|
|
default=False,
|
|
verbose_name="是否软删除",
|
|
),
|
|
),
|
|
(
|
|
"content",
|
|
models.TextField(db_comment="分段内容", verbose_name="分段内容"),
|
|
),
|
|
(
|
|
"content_length",
|
|
models.IntegerField(db_comment="字符数", verbose_name="字符数"),
|
|
),
|
|
(
|
|
"tokens",
|
|
models.IntegerField(
|
|
db_comment="token 数量", verbose_name="token 数量"
|
|
),
|
|
),
|
|
(
|
|
"vector_id",
|
|
models.CharField(
|
|
blank=True,
|
|
db_comment="向量库的编号",
|
|
max_length=100,
|
|
null=True,
|
|
verbose_name="向量库的编号",
|
|
),
|
|
),
|
|
(
|
|
"retrieval_count",
|
|
models.IntegerField(
|
|
db_comment="召回次数", default=0, verbose_name="召回次数"
|
|
),
|
|
),
|
|
(
|
|
"status",
|
|
models.SmallIntegerField(
|
|
choices=[(0, "禁用"), (1, "启用")],
|
|
db_comment="状态",
|
|
default=0,
|
|
verbose_name="状态",
|
|
),
|
|
),
|
|
(
|
|
"document",
|
|
models.ForeignKey(
|
|
db_comment="文档",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="segments",
|
|
to="ai.knowledgedocument",
|
|
verbose_name="文档",
|
|
),
|
|
),
|
|
(
|
|
"knowledge",
|
|
models.ForeignKey(
|
|
db_comment="知识库",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="segments",
|
|
to="ai.knowledge",
|
|
verbose_name="知识库",
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
"verbose_name": "AI 知识库分段",
|
|
"verbose_name_plural": "AI 知识库分段",
|
|
"db_table": "ai_knowledge_segment",
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name="chatrole",
|
|
name="tools",
|
|
field=models.ManyToManyField(
|
|
blank=True,
|
|
db_comment="关联的工具",
|
|
related_name="roles",
|
|
to="ai.tool",
|
|
verbose_name="关联的工具",
|
|
),
|
|
),
|
|
]
|