rename: data_mart → sage_datamark
This commit is contained in:
parent
4d24094048
commit
8aafb31ef4
2
build.sh
2
build.sh
@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
cd "$(dirname "$0")"
|
||||
echo "[data_mart] build done"
|
||||
echo "[sage_datamark] build done"
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
"""data_mart — Sage 数据集市模块"""
|
||||
from .init import load_data_mart
|
||||
@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
# data_mart has no CRUD tables - skip xls2ui
|
||||
echo "[data_mart] json build skipped (no CRUD)"
|
||||
# sage_datamark has no CRUD tables - skip xls2ui
|
||||
echo "[sage_datamark] json build skipped (no CRUD)"
|
||||
|
||||
@ -3,10 +3,10 @@ requires = ["setuptools>=61", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "data_mart"
|
||||
name = "sage_datamark"
|
||||
version = "0.1.0"
|
||||
description = "Sage 数据集市 — 模型性能指标、供应商性价比、多维度分析"
|
||||
requires-python = ">=3.10"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
include = ["data_mart*"]
|
||||
include = ["sage_datamark*"]
|
||||
|
||||
2
sage_datamark/__init__.py
Normal file
2
sage_datamark/__init__.py
Normal file
@ -0,0 +1,2 @@
|
||||
"""sage_datamark — Sage 数据集市模块"""
|
||||
from .init import load_sage_datamark
|
||||
@ -11,7 +11,7 @@ from appPublic.log import debug, info, exception
|
||||
from sqlor.dbpools import DBPools
|
||||
from ahserver.serverenv import ServerEnv
|
||||
|
||||
MODULE_NAME = "data_mart"
|
||||
MODULE_NAME = "sage_datamark"
|
||||
|
||||
|
||||
async def ensure_tables(sor):
|
||||
@ -129,7 +129,7 @@ async def sync_call_fact(sor, last_sync=None):
|
||||
ORDER BY lu.use_time
|
||||
"""
|
||||
rows = await sor.sqlExe(sql, {'last_sync': last_sync})
|
||||
info('data_mart ETL: syncing ' + str(len(rows)) + ' rows from ' + last_sync)
|
||||
info('sage_datamark ETL: syncing ' + str(len(rows)) + ' rows from ' + last_sync)
|
||||
|
||||
count = 0
|
||||
for r in rows:
|
||||
@ -168,7 +168,7 @@ async def sync_call_fact(sor, last_sync=None):
|
||||
await sor.C('dm_model_call_fact', ns)
|
||||
count += 1
|
||||
|
||||
info('data_mart ETL: inserted ' + str(count) + ' new rows')
|
||||
info('sage_datamark ETL: inserted ' + str(count) + ' new rows')
|
||||
return count
|
||||
|
||||
|
||||
@ -195,7 +195,7 @@ async def aggregate_daily_perf(sor, stat_date=None):
|
||||
GROUP BY call_date, llmid, model, catelogid, providerid, ownerid, userorgid
|
||||
"""
|
||||
rows = await sor.sqlExe(sql, {'stat_date': stat_date})
|
||||
info('data_mart AGG: aggregating ' + str(len(rows)) + ' groups for ' + stat_date)
|
||||
info('sage_datamark AGG: aggregating ' + str(len(rows)) + ' groups for ' + stat_date)
|
||||
|
||||
for r in rows:
|
||||
r = DictObject(r)
|
||||
@ -1,11 +1,11 @@
|
||||
"""data_mart 模块初始化"""
|
||||
"""sage_datamark 模块初始化"""
|
||||
from ahserver.serverenv import ServerEnv
|
||||
from appPublic.jsonConfig import getConfig
|
||||
from appPublic.log import debug, exception
|
||||
from sqlor.dbpools import DBPools
|
||||
from .etl import sync_call_fact, aggregate_daily_perf, aggregate_provider_cost, ensure_tables
|
||||
|
||||
MODULE_NAME = "data_mart"
|
||||
MODULE_NAME = "sage_datamark"
|
||||
|
||||
|
||||
def get_dbname():
|
||||
@ -14,7 +14,7 @@ def get_dbname():
|
||||
|
||||
|
||||
async def api_model_perf(sor, params_kw=None):
|
||||
"""模型性能统计 API — POST /data_mart/api/model_perf.dspy"""
|
||||
"""模型性能统计 API — POST /sage_datamark/api/model_perf.dspy"""
|
||||
model = params_kw.get('model') if params_kw else None
|
||||
stat_date = params_kw.get('date') if params_kw else None
|
||||
|
||||
@ -33,7 +33,7 @@ async def api_model_perf(sor, params_kw=None):
|
||||
|
||||
|
||||
async def api_provider_roi(sor, params_kw=None):
|
||||
"""供应商性价比 API — POST /data_mart/api/provider_roi.dspy"""
|
||||
"""供应商性价比 API — POST /sage_datamark/api/provider_roi.dspy"""
|
||||
model = params_kw.get('model') if params_kw else None
|
||||
stat_date = params_kw.get('date') if params_kw else None
|
||||
|
||||
@ -52,7 +52,7 @@ async def api_provider_roi(sor, params_kw=None):
|
||||
|
||||
|
||||
async def api_call_detail(sor, params_kw=None):
|
||||
"""调用明细 API — POST /data_mart/api/call_detail.dspy"""
|
||||
"""调用明细 API — POST /sage_datamark/api/call_detail.dspy"""
|
||||
stat_date = (params_kw or {}).get('date')
|
||||
userorgid = (params_kw or {}).get('userorgid')
|
||||
|
||||
@ -70,9 +70,9 @@ async def api_call_detail(sor, params_kw=None):
|
||||
return [dict(r) for r in rows]
|
||||
|
||||
|
||||
def load_data_mart():
|
||||
def load_sage_datamark():
|
||||
env = ServerEnv()
|
||||
env.api_model_perf = api_model_perf
|
||||
env.api_provider_roi = api_provider_roi
|
||||
env.api_call_detail = api_call_detail
|
||||
debug("[data_mart] registered API endpoints")
|
||||
debug("[sage_datamark] registered API endpoints")
|
||||
@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
"""data_mart 模块 load_path"""
|
||||
"""sage_datamark 模块 load_path"""
|
||||
import os, sys, subprocess
|
||||
|
||||
MOD = "data_mart"
|
||||
MOD = "sage_datamark"
|
||||
SAGE_ROOT = os.environ.get("SAGE_ROOT", os.path.expanduser("~/sage"))
|
||||
PYTHON = os.path.join(SAGE_ROOT, "py3", "bin", "python")
|
||||
SET_PERM = os.path.join(SAGE_ROOT, "set_role_perm.py")
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
# 模型性能统计 API
|
||||
env = request._run_ns
|
||||
async with get_sor_context(env, 'data_mart') as sor:
|
||||
async with get_sor_context(env, 'sage_datamark') as sor:
|
||||
rows = await env.api_model_perf(sor, params_kw)
|
||||
return json.dumps(rows, ensure_ascii=False)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
# 供应商性价比 API
|
||||
env = request._run_ns
|
||||
async with get_sor_context(env, 'data_mart') as sor:
|
||||
async with get_sor_context(env, 'sage_datamark') as sor:
|
||||
rows = await env.api_provider_roi(sor, params_kw)
|
||||
return json.dumps(rows, ensure_ascii=False)
|
||||
|
||||
@ -6,16 +6,16 @@
|
||||
"widgettype": "MenuItem",
|
||||
"options": {
|
||||
"label": "模型性能",
|
||||
"url": "{{entire_url('/data_mart/index.ui')}}",
|
||||
"icon": "{{entire_url('/data_mart/imgs/perf.svg')}}"
|
||||
"url": "{{entire_url('/sage_datamark/index.ui')}}",
|
||||
"icon": "{{entire_url('/sage_datamark/imgs/perf.svg')}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"widgettype": "MenuItem",
|
||||
"options": {
|
||||
"label": "供应商性价比",
|
||||
"url": "{{entire_url('/data_mart/provider_roi.ui')}}",
|
||||
"icon": "{{entire_url('/data_mart/imgs/roi.svg')}}"
|
||||
"url": "{{entire_url('/sage_datamark/provider_roi.ui')}}",
|
||||
"icon": "{{entire_url('/sage_datamark/imgs/roi.svg')}}"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user