init ai api key

This commit is contained in:
xie7654
2025-07-10 15:32:00 +08:00
parent bf07ff5744
commit 65bdda6377
26 changed files with 1825 additions and 6 deletions

View File

@@ -0,0 +1,214 @@
# Generated by Django 5.2.1 on 2025-07-10 03:03
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
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,
),
),
(
"creator",
models.CharField(
blank=True,
db_comment="创建人",
help_text="创建人",
max_length=64,
null=True,
),
),
(
"modifier",
models.CharField(
blank=True,
db_comment="修改人",
help_text="修改人",
max_length=64,
null=True,
),
),
(
"update_time",
models.DateTimeField(
auto_now=True,
db_comment="修改时间",
help_text="修改时间",
null=True,
),
),
(
"create_time",
models.DateTimeField(
auto_now_add=True,
db_comment="创建时间",
help_text="创建时间",
null=True,
),
),
(
"is_deleted",
models.BooleanField(db_comment="是否软删除", default=False),
),
("name", models.CharField(db_comment="名称", max_length=255)),
("platform", models.CharField(db_comment="平台", max_length=255)),
("api_key", models.CharField(db_comment="密钥", max_length=255)),
(
"url",
models.CharField(
blank=True,
db_comment="自定义 API 地址",
max_length=255,
null=True,
),
),
(
"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="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,
),
),
(
"creator",
models.CharField(
blank=True,
db_comment="创建人",
help_text="创建人",
max_length=64,
null=True,
),
),
(
"modifier",
models.CharField(
blank=True,
db_comment="修改人",
help_text="修改人",
max_length=64,
null=True,
),
),
(
"update_time",
models.DateTimeField(
auto_now=True,
db_comment="修改时间",
help_text="修改时间",
null=True,
),
),
(
"create_time",
models.DateTimeField(
auto_now_add=True,
db_comment="创建时间",
help_text="创建时间",
null=True,
),
),
(
"is_deleted",
models.BooleanField(db_comment="是否软删除", default=False),
),
("name", models.CharField(db_comment="模型名字", max_length=64)),
("sort", models.IntegerField(db_comment="排序", default=0)),
(
"status",
models.SmallIntegerField(
choices=[(0, "禁用"), (1, "启用")],
db_comment="状态",
default=0,
verbose_name="状态",
),
),
("platform", models.CharField(db_comment="模型平台", max_length=32)),
("model", models.CharField(db_comment="模型标识", max_length=64)),
(
"temperature",
models.FloatField(blank=True, db_comment="温度参数", null=True),
),
(
"max_tokens",
models.IntegerField(
blank=True, db_comment="单条回复的最大 Token 数量", null=True
),
),
(
"max_contexts",
models.IntegerField(
blank=True, db_comment="上下文的最大 Message 数量", null=True
),
),
(
"key",
models.ForeignKey(
db_comment="API 秘钥编号",
on_delete=django.db.models.deletion.CASCADE,
to="ai.aiapikey",
),
),
],
options={
"verbose_name": "AI 模型",
"verbose_name_plural": "AI 模型",
"db_table": "ai_model",
},
),
]

View File

@@ -0,0 +1,262 @@
# Generated by Django 5.2.1 on 2025-07-10 04:07
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("ai", "0001_initial"),
]
operations = [
migrations.AlterField(
model_name="aiapikey",
name="api_key",
field=models.CharField(
db_comment="密钥", max_length=255, verbose_name="密钥"
),
),
migrations.AlterField(
model_name="aiapikey",
name="create_time",
field=models.DateTimeField(
auto_now_add=True,
db_comment="创建时间",
help_text="创建时间",
null=True,
verbose_name="创建时间",
),
),
migrations.AlterField(
model_name="aiapikey",
name="creator",
field=models.CharField(
blank=True,
db_comment="创建人",
help_text="创建人",
max_length=64,
null=True,
verbose_name="创建人",
),
),
migrations.AlterField(
model_name="aiapikey",
name="is_deleted",
field=models.BooleanField(
db_comment="是否软删除", default=False, verbose_name="是否软删除"
),
),
migrations.AlterField(
model_name="aiapikey",
name="modifier",
field=models.CharField(
blank=True,
db_comment="修改人",
help_text="修改人",
max_length=64,
null=True,
verbose_name="修改人",
),
),
migrations.AlterField(
model_name="aiapikey",
name="name",
field=models.CharField(
db_comment="名称", max_length=255, verbose_name="名称"
),
),
migrations.AlterField(
model_name="aiapikey",
name="platform",
field=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="平台",
),
),
migrations.AlterField(
model_name="aiapikey",
name="remark",
field=models.CharField(
blank=True,
db_comment="备注",
help_text="备注",
max_length=256,
null=True,
verbose_name="备注",
),
),
migrations.AlterField(
model_name="aiapikey",
name="update_time",
field=models.DateTimeField(
auto_now=True,
db_comment="修改时间",
help_text="修改时间",
null=True,
verbose_name="修改时间",
),
),
migrations.AlterField(
model_name="aiapikey",
name="url",
field=models.CharField(
blank=True,
db_comment="自定义 API 地址",
max_length=255,
null=True,
verbose_name="自定义 API 地址",
),
),
migrations.AlterField(
model_name="aimodel",
name="create_time",
field=models.DateTimeField(
auto_now_add=True,
db_comment="创建时间",
help_text="创建时间",
null=True,
verbose_name="创建时间",
),
),
migrations.AlterField(
model_name="aimodel",
name="creator",
field=models.CharField(
blank=True,
db_comment="创建人",
help_text="创建人",
max_length=64,
null=True,
verbose_name="创建人",
),
),
migrations.AlterField(
model_name="aimodel",
name="is_deleted",
field=models.BooleanField(
db_comment="是否软删除", default=False, verbose_name="是否软删除"
),
),
migrations.AlterField(
model_name="aimodel",
name="key",
field=models.ForeignKey(
db_comment="API 秘钥编号",
on_delete=django.db.models.deletion.CASCADE,
to="ai.aiapikey",
verbose_name="API 秘钥编号",
),
),
migrations.AlterField(
model_name="aimodel",
name="max_contexts",
field=models.IntegerField(
blank=True,
db_comment="上下文的最大 Message 数量",
null=True,
verbose_name="上下文的最大 Message 数量",
),
),
migrations.AlterField(
model_name="aimodel",
name="max_tokens",
field=models.IntegerField(
blank=True,
db_comment="单条回复的最大 Token 数量",
null=True,
verbose_name="单条回复的最大 Token 数量",
),
),
migrations.AlterField(
model_name="aimodel",
name="model",
field=models.CharField(
db_comment="模型标识", max_length=64, verbose_name="模型标识"
),
),
migrations.AlterField(
model_name="aimodel",
name="modifier",
field=models.CharField(
blank=True,
db_comment="修改人",
help_text="修改人",
max_length=64,
null=True,
verbose_name="修改人",
),
),
migrations.AlterField(
model_name="aimodel",
name="name",
field=models.CharField(
db_comment="模型名字", max_length=64, verbose_name="模型名字"
),
),
migrations.AlterField(
model_name="aimodel",
name="platform",
field=models.CharField(
db_comment="模型平台", max_length=32, verbose_name="模型平台"
),
),
migrations.AlterField(
model_name="aimodel",
name="remark",
field=models.CharField(
blank=True,
db_comment="备注",
help_text="备注",
max_length=256,
null=True,
verbose_name="备注",
),
),
migrations.AlterField(
model_name="aimodel",
name="sort",
field=models.IntegerField(
db_comment="排序", default=0, verbose_name="排序"
),
),
migrations.AlterField(
model_name="aimodel",
name="temperature",
field=models.FloatField(
blank=True, db_comment="温度参数", null=True, verbose_name="温度参数"
),
),
migrations.AlterField(
model_name="aimodel",
name="update_time",
field=models.DateTimeField(
auto_now=True,
db_comment="修改时间",
help_text="修改时间",
null=True,
verbose_name="修改时间",
),
),
]

View File