feat(assistant): 基于聚合结果动态回答并支持对话新增分析列
This commit is contained in:
+10
-5
@@ -26,7 +26,7 @@ from openpyxl.cell import WriteOnlyCell
|
||||
|
||||
from .analysis import METRICS, analyze, context, custom_columns, default_preferences, dimensions, scoped_facts
|
||||
from .importing import file_digest, profile_file, suggest_mapping, validate_mapping
|
||||
from .models import AIConfig, Audit, Dataset, Investigation, Membership, Preference, Throttle
|
||||
from .models import Audit, Dataset, Investigation, Membership, Preference, Throttle
|
||||
|
||||
|
||||
class APIError(Exception):
|
||||
@@ -133,19 +133,24 @@ def serialize_dataset(ds, detailed=False, restricted=False, raw_access=True):
|
||||
@endpoint(public=True)
|
||||
def session(request):
|
||||
ai_enabled = settings.AI_ENABLED and bool(settings.OPENAI_API_KEY and settings.OPENAI_MODEL)
|
||||
ai_model = None
|
||||
ai_provider = None
|
||||
if request.user.is_authenticated:
|
||||
try:
|
||||
cfg = AIConfig.objects.filter(organization=request.user.membership.organization).first()
|
||||
from .ai import resolve
|
||||
|
||||
cfg = resolve(request.user.membership.organization)
|
||||
ai_enabled = bool(cfg)
|
||||
if cfg:
|
||||
ai_enabled = (
|
||||
cfg.enabled and bool(cfg.model) and (cfg.provider == "local" or bool(cfg.api_key))
|
||||
)
|
||||
ai_model, ai_provider = cfg["model"], cfg["provider"]
|
||||
except Membership.DoesNotExist:
|
||||
pass
|
||||
data = {
|
||||
"csrf": get_token(request),
|
||||
"user": None,
|
||||
"ai_enabled": ai_enabled,
|
||||
"ai_model": ai_model,
|
||||
"ai_provider": ai_provider,
|
||||
}
|
||||
if request.user.is_authenticated:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user