- 新增 AIConfig 模型(每组织一份,迁移 0005)与 /api/ai-config、 /api/ai-models 接口;密钥只存后端、读取脱敏、修改记审计 - 支持 OpenAI 及本地 OpenAI 兼容服务(Ollama/LM Studio/vLLM), 可从 /v1/models 一键获取模型列表多选一;数据库配置优先于环境变量 - 助手调用走生效配置,Copilot 文案同步更新 - 全权限管理员可在「管理 → AI 模型」配置;补接口级测试
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
# Generated by Django 5.2.17 on 2026-09-26 13:56
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
dependencies = [
|
|
("finance", "0004_formuladefinition"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="AIConfig",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.BigAutoField(
|
|
auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
|
|
),
|
|
),
|
|
("enabled", models.BooleanField(default=False)),
|
|
(
|
|
"provider",
|
|
models.CharField(
|
|
choices=[("openai", "OpenAI"), ("local", "本地 OpenAI 兼容服务")],
|
|
default="local",
|
|
max_length=16,
|
|
),
|
|
),
|
|
("base_url", models.CharField(blank=True, max_length=500)),
|
|
("api_key", models.CharField(blank=True, max_length=500)),
|
|
("model", models.CharField(blank=True, max_length=200)),
|
|
("updated_at", models.DateTimeField(auto_now=True)),
|
|
(
|
|
"organization",
|
|
models.OneToOneField(
|
|
on_delete=django.db.models.deletion.CASCADE, to="finance.organization"
|
|
),
|
|
),
|
|
],
|
|
),
|
|
]
|